使用表格数据绘制条形图

使用表格数据绘制条形图

我正在尝试使用 pgfplots 绘制这种图形,这是我的代码:

显示错误,请帮帮我 在此处输入图片描述

\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
        xlabel=Year,
        ylabel=No. of Ques]
\addplot[smooth,mark=*,blue] plot coordinates {
(CD,0)
(CN,0)
(CO,0)
(DA,0)
(DBMS,0)
(DLD,0)
(DM,0)
(EM,1)
(GEN,0)
(OS,0)
(PROG,1)
(TOC,0)
    };
\addlegendentry{
2015}
\end{axis}
\end{tikzpicture}
\end{document}

答案1

您只需在使用它们之前定义您的坐标。

代替

\begin{axis}[
        xlabel=Year,
        ylabel=No. of Ques]

    \begin{axis}[
        xlabel=Year,
        ylabel=No. of Ques,
        symbolic x coords={CD, CN, CO, DA, DBMS, DLD, DM, EM, GEN, OS, PROG, TOC}]

要得到

要查看所有 x 坐标,它们必须有足够的空间来容纳。您必须扩大绘图的宽度。此问题的解决方案是作为以下问题的答案提供的如何增加/调整 x 轴的宽度以适合 pgfplots 中的所有点?

现在更换

\begin{axis}[
            xlabel=Year,
            ylabel=No. of Ques,
            symbolic x coords={CD, CN, CO, DA, DBMS, DLD, DM, EM, GEN, OS, PROG, TOC}]

\begin{axis}[
        xlabel=Year,
        ylabel=No. of Ques,
        symbolic x coords={CD, CN, CO, DA, DBMS, DLD, DM, EM, GEN, OS, PROG, TOC},
        enlarge x limits=-1,
        width=13cm] % ADJUST WIDTH TO YOUR LIKING

要得到

这是经过上述修改的代码文档类声明(不存在),以防您遇到问题:

\documentclass[border=5mm]{standalone}

\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
        xlabel=Year,
        ylabel=No. of Ques,
        symbolic x coords={CD, CN, CO, DA, DBMS, DLD, DM, EM, GEN, OS, PROG, TOC},
        enlarge x limits=-1,
        width=13cm] % ADJUST WIDTH TO YOUR LIKING
\addplot[smooth,mark=*,blue] plot coordinates {
(CD,0)
(CN,0)
(CO,0)
(DA,0)
(DBMS,0)
(DLD,0)
(DM,0)
(EM,1)
(GEN,0)
(OS,0)
(PROG,1)
(TOC,0)
    };
\addlegendentry{
2015}
\end{axis}
\end{tikzpicture}
\end{document}

如果您想要与问题图片中显示的精确图表,则必须让 pgfplots 知道您需要条形图。您还必须提供与图片中显示的相同的值。

相关内容