Python 绘制柱状图:如何使用存储在数据库中的数据从头开始绘制柱状图?

Python 绘制柱状图:如何使用存储在数据库中的数据从头开始绘制柱状图?,python,mysql,graph,gnuplot,histogram,Python,Mysql,Graph,Gnuplot,Histogram,我在数据库中存储了一些数据,如下所示: 表名:故障 表: 如何从这个表开始绘制直方图?下面的解决方案假设您有MySQL、Python和GNUPlot。如有必要,可对具体细节进行微调。发布它,以便它可以成为其他同行的基准 步骤#1:确定图形的类型。 如果它是某种频率图,那么一个简单的SQL查询应该可以做到: select total, count(total) from faults GROUP BY total; 如果需要指定箱子尺寸,请继续下一步 第2步:确保您能够使用Python连接到My

我在数据库中存储了一些数据,如下所示:

表名:故障 表:


如何从这个表开始绘制直方图?

下面的解决方案假设您有MySQL、Python和GNUPlot。如有必要,可对具体细节进行微调。发布它,以便它可以成为其他同行的基准

步骤#1:确定图形的类型。

如果它是某种频率图,那么一个简单的SQL查询应该可以做到:

select total, count(total) from faults GROUP BY total;
如果需要指定箱子尺寸,请继续下一步

第2步:确保您能够使用Python连接到MySQL。您可以使用MySQLdb导入来完成此操作。

之后,生成柱状图数据的python代码如下(这是在5分钟内编写的,因此非常粗糙):

步骤3:使用GNUPlot生成直方图。您可以使用以下脚本作为起点(生成eps图像文件):

set terminal postscript eps color lw 2 "Helvetica" 20
set output "output.eps"
set xlabel "XLABEL"
set ylabel "YLABEL"
set title "TITLE"
set style data histogram
set style histogram cluster gap 1
set style fill solid border -1
set boxwidth 0.9
set key autotitle columnheader
set xtics rotate by -45
plot "input" using 1:2 with linespoints ls 1
将上述脚本保存到任意文件中,例如sample.script。继续下一步

步骤#4:将gnuplot与上述输入脚本一起使用以生成eps文件

gnuplot sample.script
没什么复杂的,但我认为这段代码中的一些位可以重用。再说一次,就像我说的,它并不完美,但你可以完成工作:)

学分:

  • Ofri Raviv(谢谢你帮我 本文中的MySQL查询: )

  • 我自己(为编写python和 gnuplot脚本:D)

    • 可能会帮助你!它讨论了使用gnuplot进行统计,并将结果绘制成直方图

      set terminal postscript eps color lw 2 "Helvetica" 20
      set output "output.eps"
      set xlabel "XLABEL"
      set ylabel "YLABEL"
      set title "TITLE"
      set style data histogram
      set style histogram cluster gap 1
      set style fill solid border -1
      set boxwidth 0.9
      set key autotitle columnheader
      set xtics rotate by -45
      plot "input" using 1:2 with linespoints ls 1
      
      gnuplot sample.script