精华内容
下载资源
问答
  • Python 使用 matplotlib 画图是非常方便的,之前的文章记录了《Python 使用 matplotlib 画折线图教程》,今天就再次记录一下使用 matplotlib 画柱状图的教程。一般来说,也就折线图和柱状图这两种图比较常见,所以...

    bandwagonhost-top.png

    Python 使用 matplotlib 画图是非常方便的,之前的文章记录了《Python 使用 matplotlib 画折线图教程》,今天就再次记录一下使用 matplotlib 画柱状图的教程。一般来说,也就折线图和柱状图这两种图比较常见,所以基本上老唐也就用了这两个。

    一、基本柱状图

    代码:import matplotlib.pyplot as plt

    data = [5, 20, 15, 25, 10]

    plt.bar(range(len(data)), data)

    plt.show()

    效果:

    oldtang.com_matplotlib_bar.png

    二、并列柱状图

    绘制并列柱状图与堆叠柱状图类似,都是绘制多组柱体,只需要控制好每组柱体的位置和大小即可。例如:

    import numpy as np

    import matplotlib.pyplot as plt

    size = 5

    x = np.arange(size)

    a = np.random.random(size)

    b = np.random.random(size)

    c = np.random.random(size)

    total_width, n = 0.8, 3

    width = total_width / n

    x = x - (total_width - width) / 2

    plt.bar(x, a, width=width, label='a')

    plt.bar(x + width, b, width=width, label='b')

    plt.bar(x + 2 * width, c, width=width, label='c')

    plt.legend()

    plt.show()

    效果:

    oldtang.com_matplotlib_bar2.png

    如果想加点坐标轴标题什么的,参考下面的代码,我就不提取了,大家看一下就懂:#柱状图

    import numpy as np

    import matplotlib.pyplot as plt

    ATT_LSTM = [0.8892,0.861,0.9243]

    MATT_CNN = [0.8966,0.8556,0.9316]

    ATT_RLSTM = [0.8867,0.8543,0.9344]

    CNN_RLSTM = [0.9016,0.8636,0.9435]

    #x = ['REST','LAPT','AUTO']

    x = np.arange(3) #总共有几组,就设置成几,我们这里有三组,所以设置为3

    total_width, n = 0.8, 4 # 有多少个类型,只需更改n即可,比如这里我们对比了四个,那么就把n设成4

    width = total_width / n

    x = x - (total_width - width) / 2

    plt.bar(x, ATT_LSTM, color = "r",width=width,label='ATT-LSTM ')

    plt.bar(x + width, MATT_CNN, color = "y",width=width,label='MATT-CNN')

    plt.bar(x + 2 * width, ATT_RLSTM , color = "c",width=width,label='ATT-RLSTM')

    plt.bar(x + 3 * width, CNN_RLSTM , color = "g",width=width,label='CNN-RLSTM')

    plt.xlabel("dataset")

    plt.ylabel("accuracy")

    plt.legend(loc = "best")

    plt.xticks([0,1,2],['REST','LAPT','AUTO'])

    my_y_ticks = np.arange(0.8, 0.95, 0.02)

    plt.ylim((0.8, 0.95))

    plt.yticks(my_y_ticks)

    plt.show()

    参考文献:

    展开全文
  • 这篇文章主要介绍了python plotly画柱状图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下代码import pandas as pdimport numpy as npimport plotly....

    这篇文章主要介绍了python plotly画柱状图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    代码

    import pandas as pd

    import numpy as np

    import plotly.plotly as py

    import plotly.graph_objs as go

    path = '/home/v-gazh/PycharmProjects/us_data/counts.csv'

    df = pd.read_csv(path)

    df['PERMNO'] = df['PERMNO'].map(lambda x : 'P'+str(x) ) # 该了下类型 此行有可无

    df.set_index(['PERMNO'], inplace=True)

    trace1 = go.Bar(

    x=df.index,

    y=df['tickerCount'].squeeze(),

    name='一个P对应TICKER个数'

    )

    trace2 = go.Bar(

    x=df.index,

    y=df['exchcdCount'].squeeze(),

    name='一个P对应EXCHCD个数'

    )

    data = [trace1, trace2]

    layout = go.Layout(

    barmode='group'#分组

    )

    fig = go.Figure(data=data, layout=layout)

    py.iplot(fig, filename='grouped-bar')

    图示

    20191213103846091.png?2019111310391

    20191213103846092.png?2019111310391

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 这篇文章主要介绍了python plotly画柱状图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下代码import pandas as pdimport numpy as npimport plotly....

    这篇文章主要介绍了python plotly画柱状图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    代码

    import pandas as pd

    import numpy as np

    import plotly.plotly as py

    import plotly.graph_objs as go

    path = '/home/v-gazh/PycharmProjects/us_data/counts.csv'

    df = pd.read_csv(path)

    df['PERMNO'] = df['PERMNO'].map(lambda x : 'P'+str(x) ) # 该了下类型 此行有可无

    df.set_index(['PERMNO'], inplace=True)

    trace1 = go.Bar(

    x=df.index,

    y=df['tickerCount'].squeeze(),

    name='一个P对应TICKER个数'

    )

    trace2 = go.Bar(

    x=df.index,

    y=df['exchcdCount'].squeeze(),

    name='一个P对应EXCHCD个数'

    )

    data = [trace1, trace2]

    layout = go.Layout(

    barmode='group'#分组

    )

    fig = go.Figure(data=data, layout=layout)

    py.iplot(fig, filename='grouped-bar')

    图示

    blank.gif

    blank.gif

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

    时间: 2019-12-11

    展开全文
  • qt画柱状图

    千次阅读 2019-01-06 14:53:05
    用qt了个很简单的柱状图,横坐标长度不变,个数越多,每个柱状图的宽度越窄。没什么难度,写过的就记录一下,以后可能用到类似的直接拿来用。 头文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include &...

    用qt画了个很简单的柱状图,横坐标长度不变,个数越多,每个柱状图的宽度越窄。没什么难度,写过的就记录一下,以后可能用到类似的直接拿来用。

    头文件

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
    
    #include <QMainWindow>
    #include <QMap>
    
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    
    public:
        MainWindow(QWidget *parent = 0);
        ~MainWindow();
    
    protected:
        void paintEvent(QPaintEvent *e);
    
    private:
        int getMaxVal(QList<int> list);
    
    private:
        QMap<QString, int> m_answerMap;
        QList<int> m_numList;
        QList<QString> m_answerStrList;
        int m_nPeopleCount;
    
    
    };
    
    #endif // MAINWINDOW_H
    

    cpp文件

    #include "mainwindow.h"
    #include <QPainter>
    
    MainWindow::MainWindow(QWidget *parent)
        : QMainWindow(parent)
    {
        this->resize(500, 570);
    
        m_answerMap.insert("A", 2);
        m_answerMap.insert("ABCD", 1);
        m_answerMap.insert("AD", 3);
        m_answerMap.insert("BD", 10);
        m_answerMap.insert("AC", 2);
        m_answerMap.insert("BCD", 1);
    
        m_nPeopleCount = 0;
    
        m_answerStrList = m_answerMap.keys();
        m_numList = m_answerMap.values();
        foreach (int num, m_numList) {
            m_nPeopleCount += num;
        }
    
    }
    
    MainWindow::~MainWindow()
    {
    
    }
    
    void MainWindow::paintEvent(QPaintEvent *e)
    {
        QPainter painter(this);
        painter.setRenderHint(QPainter::Antialiasing, true);
        painter.setPen(Qt::NoPen);
        painter.setBrush(Qt::NoBrush);
    
        if(m_numList.isEmpty())
        {
            return;
        }
    
        painter.setPen(Qt::black);
    
        int lineWidth = 360;
        int lineX = this->width()/2 - lineWidth/2;
        int lineY = 402;
        painter.drawLine(lineX, lineY, lineX + lineWidth, lineY);
    
        int answerCount = m_answerStrList.count();
        int maxWidth = 41;
        int maxHeight = 280;
    
        int curWidth = maxWidth - (answerCount - 1)*3;
        int unitWidth = lineWidth/answerCount;
    
        //获取选项中值最大的那个,以这个为基准高度,来计算其他值的高度
        int maxVal = getMaxVal(m_numList);
        int unitHeight = 0;
        if(maxVal)
        {
            unitHeight = maxHeight/maxVal;
        }
    
        QFont ft;
        ft.setPixelSize(13);
        for(int i = 0; i < m_answerStrList.count(); ++i)
        {
            QString answerStr = m_answerStrList.at(i);
            int selectNum = m_numList.at(i);
            QString selectNumStr = QString::number(selectNum);
    
            int x = lineX + i*unitWidth + unitWidth/2 - curWidth/2;
            //绘制柱状图
            int GraphHight = selectNum*unitHeight;
            QRect r = QRect(x, lineY - GraphHight, curWidth, GraphHight);
            QPainterPath path;
            path.addRect(r);
            painter.fillPath(path, QColor(185, 185, 185));
    
            //绘制答案
            QFontMetrics metrics(ft);
            int charWitdh = metrics.width(answerStr);
            QRect answerRect;
    /**     对比文字长度和柱状图的宽度,比柱状图宽的以文字的长度为基准会画,反之以
     *      柱状图的宽度来画,保证显示全并居中,下面的也是一样
     */
            if(charWitdh < curWidth)
            {
                answerRect = QRect(x, lineY, curWidth, 30);
            }
            else
            {
                answerRect = QRect(x - (charWitdh - curWidth)/2, lineY, charWitdh, 30);
            }
            painter.drawText(answerRect, Qt::AlignCenter, answerStr);
    
            //绘制每个选项对应的值
            QRect percentRect;
            charWitdh = metrics.width(selectNumStr);
            if(charWitdh < curWidth)
            {
                percentRect = QRect(x, lineY - GraphHight - 30, curWidth, 30);
            }
            else
            {
                percentRect = QRect(x - (charWitdh - curWidth)/2, lineY - GraphHight - 40, charWitdh, 30);
            }
            painter.drawText(percentRect, Qt::AlignCenter, selectNumStr);
    
        }
    }
    
    int MainWindow::getMaxVal(QList<int> list)
    {
        qSort(list.begin(), list.end());
        return list.last();
    }
    

     

    展开全文
  • matplotlib绘图——柱状图 matplotlib 的几种柱状图 python 绘制分组对比柱状图 Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
  • Android画柱状图的demo

    热门讨论 2014-04-28 15:20:44
    Android画柱状图的demo,可运行,可以学习Canvas和Paint的相关知识
  • matlab画柱状图

    千次阅读 2017-01-13 10:21:30
    matlab画柱状图   (2013-04-07 19:37:32) 转载▼ 标签:  matlab   柱状图 分类: 研究生学习 论文中需要画图进行比较,感觉还是matlab画起来比较方便,先把自己画...
  • MATLAB中画柱状图

    万次阅读 多人点赞 2018-12-25 15:20:08
    论文中需要画图进行比较,感觉还是matlab起来比较方便,先把自己画及matlab代码放上。 y=[300 311;390 425; 312 321; 250 185; 550 535; 420 432; 410 520;]; b=bar(y); grid on; ch = get(b,'children'); ...
  • AchartEngine 画柱状图

    千次阅读 2014-01-25 14:50:44
    AchartEngine 是android应用中的图表库,它的功能有很多,曲线图、柱状图、饼图、气泡图等,具体参考goole官网http://code.google.com/p/achartengine/本文中主要介绍AchartEngine 画柱状图。 效果图: step1. ...
  • 如果想要在柱状图上显示每个value则需要自己在draw()中自己添加 painter-&amp;amp;gt;drawText(x, y);x柱状图的横坐标,y是柱状图的纵坐标(value)。有需要的可以参考下。 欢迎使用Markdown编辑器 你好...
  • matlab 画柱状图

    千次阅读 2019-06-27 21:50:28
    贴几个有用的画柱状图的帖子: 1https://blog.csdn.net/it_beecoder/article/details/80168242 2https://www.cnblogs.com/jeromeblog/p/3396494.html
  • Python画柱状图

    万次阅读 多人点赞 2018-05-20 20:53:40
    Python——使用matplotlib绘制柱状图1、基本柱状图 首先要安装matplotlib(http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot) 可以使用pip命令直接安装[python] view plain copy# -*- ...
  • android中画柱状图

    热门讨论 2012-04-08 10:46:13
    这个文件时android代码,实现了在android中出我们在电脑中常见的股市之类的柱状图!很有学习研究的价值!欢迎下载!!!
  • iOS画柱状图,折线图

    千次阅读 2016-11-16 16:49:40
    iOS画柱状图和折线图 首先新建一个UIView 的类, 然后重写 drawRect 的方法 #define LINEWIDTH 10 //柱状图的柱的宽度 @implementation SZColumnarView /* // Only override drawRect: if you ...
  • python 条形图(柱状图

    万次阅读 多人点赞 2019-08-24 00:06:35
    条形图(bar chart),也称为柱状图,是一种以长方形的长度为变量的统计图表,长方形的长度与它所对应的变量数值呈一定比例。 1. 竖放条形图 条形图要用到 pyplot 中的 bar 函数,该函数的基...
  • python画柱状图bar:并列柱状图

    千次阅读 2019-10-07 19:35:51
    1.alpha:柱状图形的透明度 2.width:柱形的宽度 3.edgecolor:图形的边缘颜色 4.label:图例,每个图像代表的含义 让图例展示出来的代码,并可指定其在图形中的位置 5.plt.legend("upper right") 方法一: ...
  • Python画柱状图bar

    2019-05-25 14:59:40
    Python画柱状图bar 1.简单柱状图 #!/bin/usr/python3 # -*- coding: utf-8 -*- # 简单柱状图 #文件名:baseHistogram.py import matplotlib import matplotlib.pyplot as plt import time #...
  • MATLAB画柱状图对比

    千次阅读 2019-12-17 23:07:16
    对21个类别两个分类方法的分类结果用MATLAB画柱状图对比 #输入两个类别的分类结果a1,a2 #输入类别名字name y=[a1,a2];#y的size为[19,2] b=bar(y);#画柱状图 axis([0,24,0,1]);#设定坐标轴的显示范围 grid on;#加网格...
  • Matlab 画柱状图

    千次阅读 2018-09-03 22:04:24
    Matlab 画柱状图 errorlist=[std_dfg,std_dfgB,std_tli,std_tliB]; figure('Name','std of reconstruction error' ... ,'position',[100 200 1200 500]... ); bar(errorlist); colormap(lines(3)); hold on...
  • matlab画柱状图并填充

    千次阅读 2019-06-20 23:04:45
    导读:记录一下如何使用matlab画柱状图,并进行填充。 版本: matlab 2017b. 注意:使用matlab2016版本似乎会有bug。 1.辅助函数makehatch.m function A = makehatch(hatch) %MAKEHATCH Predefined hatch patterns...
  • MPAndroidchart 画柱状图

    2016-11-02 07:44:52
    MPAndroidchart 请问一下:怎么让柱状图的每个柱子的值显示在最上方且成一条直线呢? 跪求大神解答 ![图片说明](https://img-ask.csdn.net/upload/201611/02/1478072685_760168.png)
  • pylab画柱状图

    2016-04-08 11:37:56
    利用pylab画柱状图进行结果统计和分析假设如下: 数据集:dic={a:10,b:20,c:30,e:40} 代码如下:import numpy as np import pylab item=dic.items() keylist=[] vallist=[] for key,val in item: key
  • matplotlib画柱状图,折线图,饼图 首先导入maplotlib画图函数 impory matplotlib.pyplot as plt 接下来进入主题:
  • python画柱状图和饼图

    2020-02-12 23:07:25
    最简柱状图: import matplotlib.pyplot as plt label=['Math','Music','Geography','Physics','Chemistry','History','Computer'] numbers=[138,168,100,150,80,75,188] rects=plt.bar(range(len(label)),numbers,...
  • c# 利用EXCEL 柱状图和饼状图

    热门讨论 2010-06-16 16:22:19
    用c#打开EXCEL中动态生成的柱状图,类

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,424
精华内容 10,169
关键字:

怎么自己画柱状图