精华内容
下载资源
问答
  • python画柱状图 python画直方图
    2021-06-29 22:06:35

    如题 利用python画柱状图 如何画高级柱状图 添加图例 横纵坐标名 柱状图高度 在一个柱状图上显示多个数据 画高级柱状图 添加图例 横纵坐标名 柱状图高度 画柱状对比图 【超简单教程】


    代码
    import matplotlib.pyplot as plt
    import numpy as np
    
    # 设置画布的大小
    plt.figure(figsize=(6, 5))
    
    # 输入统计数据
    name = ('name1','name2') # 在这里设置名字
    number_a = [0.81, 0.88] # 在这里设置高度
    number_b = [0.68, 0.66]
    number_c = [0.75, 0.83]
    
    bar_width = 0.2  # 条形宽度
    index_a = np.arange(len(name))
    index_b = index_a + bar_width
    index_c = index_b + bar_width
    y = [number_a,number_b,number_c]
    x = [index_a, index_b, index_c]
    
    
    # 使用3次 bar 函数画出两组条形图
    plt.bar(index_a, height=number_a, width=bar_width, color='b', label='a')
    plt.bar(index_b, height=number_b, width=bar_width, color='y', label='b')
    plt.bar(index_c, height=number_c, width=bar_width, color='c', label='c')
    
    plt.legend()  # 显示图例
    plt.xticks(index_a+bar_width, name)  # 将横坐标显示在每个坐标的中心位置
    plt.ylim([0, 1.3])
    
    # 给柱状图添加高度
    for x_ind,y_ind in zip(x,y):
            xx1 = x_ind[0]
            xx2 = x_ind[1]
            yy1 = y_ind[0]
            yy2 = y_ind[1]
            plt.text(xx1, yy1+0.01, ('%.2f' % yy1), ha='center', va='bottom')
            plt.text(xx2, yy2+0.01, ('%.2f' % yy2), ha='center', va='bottom')
    
    
    plt.xlabel('x_label__')  # 横坐标轴标题
    plt.ylabel('y_label__')  # 纵坐标轴标题
    plt.title('test')  # 图形标题
    
    plt.show()
    

    结果

    在这里插入图片描述

    更多相关内容
  • python画柱状图容易,但是如何对不同柱子使用不同颜色呢?同时在柱子顶端显示精确数值? 主要用的方法为: atplotlib.pyplot.bar(left, height, width=0.8, bottom=None, hold=None, data=None, **kwargs) 参数...
  • 今天小编就为大家分享一篇python画柱状图--不同颜色并显示数值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • python画柱状图

    千次阅读 2021-06-29 22:19:46
    最近写paper需要画柱状图,所以网上找了很多例子,一边看一边学。有时候会想:人最初学习的的方法是观察法,引申为模仿。反而我所经历过的学习是反者来的,从小到大,先交给我定理,真理,再告诉我题目怎么解,如此...

    最近写paper需要画柱状图,所以网上找了很多例子,一边看一边学。有时候会想:人最初学习的的方法是观察法,引申为模仿。反而我所经历过的学习是反者来的,从小到大,先交给我定理,真理,再告诉我题目怎么解,如此而已。和人类最初学习的方法很不一样,这是人类进化了呢,还是说走了弯路呢?(---分割线---)

    1.第一个例子:Python绘制柱状图  

    import os
    #输入想要存储图像的路径
    os.chdir('路径')
    
    import matplotlib.pyplot as plt 
    import numpy as np 
    #改变绘图风格
    import seaborn as sns
    sns.set(color_codes=True)
    
    
    cell = ['HB','EVT','dS1','fFB1', 'fFB2', 'dM3','dS2','Tcells']
    pvalue = [0.234,0.808,0.71,0.084,0.451,0.754,0.139,0.944]
    
    
    width = 0.20
    index = np.arange(len(cell)) 
    p1 = np.arange(0,len(cell),0.01)
    p2 = 0.05 + p1*0
    
    q1 = np.arange(0,len(cell),0.01)
    q2 = 0.1 + p1*0
    
    figsize = (10,8)#调整绘制图片的比例
    plt.plot(p1,p2,color = 'red',label = '5% significance level')#绘制直线
    plt.plot(q1,q2,color = 'yellow',label = '10% significance level')#绘制直线
    #若是不想显示直线,可以直接将上面两行注释掉
    plt.bar(index, pvalue, width,color="#87CEFA") #绘制柱状图
    #plt.xlabel('cell type') #x轴
    plt.ylabel('p value') #y轴
    plt.title('Result of Network Screen') #图像的名称
    plt.xticks(index, cell,fontsize=5) #将横坐标用cell替换,fontsize用来调整字体的大小
    plt.legend() #显示label
    plt.savefig('test.png',dpi = 400) #保存图像,dpi可以调整图像的像素大小
    

    结果:

    所以,主要的函数是:

    plt.bar(index, pvalue, width,color="#87CEFA") #绘制柱状图
    index和pvalue是列表,主要对应项目名称和数值,width表示宽度比例,不要超过1,会重叠。

    颜色调整:

    plt.bar(index, pvalue, width,color=['y','g','b', 'c', 'm', 'r','k','gold'])
    

    其他颜色:

    (这个很好,可以按照自己的审美选择)

    2.第二个例子:python使用matplotlib画柱状图、散点图  

    但是我只看柱状图

    import numpy as np
    from matplotlib import pyplot as plt
    
    plt.figure(figsize=(9, 6))
    n = 8
    X = np.arange(n) + 1.0
    width = 0.36
    # X是1,2,3,4,5,6,7,8,柱的个数
    # numpy.random.uniform(low=0.0, high=1.0, size=None), normal
    # uniform均匀分布的随机数,normal是正态分布的随机数,0.5-1均匀分布的数,一共有n个
    Y1 = np.random.uniform(0.5, 1.0, n)
    Y2 = np.random.uniform(0.5, 1.0, n)
    plt.bar(X-width/2, Y1, width=width, facecolor='lightskyblue', edgecolor='white')
    # width:柱的宽度
    plt.bar(X+ width/2, Y2, width=width, facecolor='yellowgreen', edgecolor='white')
    # 水平柱状图plt.barh,属性中宽度width变成了高度height
    # 打两组数据时用+
    # facecolor柱状图里填充的颜色
    # edgecolor是边框的颜色
    # 想把一组数据打到下边,在数据前使用负号
    # plt.bar(X, -Y2, width=width, facecolor='#ff9999', edgecolor='white')
    # 给图加text
    for x, y in zip(X, Y1):
        plt.text(x-width/2, y + 0.05, '%.2f' % y, ha='center', va='bottom')
    
    for x, y in zip(X, Y2):
        plt.text(x + width/2, y + 0.05, '%.2f' % y, ha='center', va='bottom')
    plt.ylim(0, +1.25)
    plt.show()

    结果:

    小小的改了一下源程序,因为发现在ubuntu18.04上并不是运行的很好,text的分布有点偏离中心。

    3.第三个例子,大同小异:python 画条形图(柱状图)实例

    (除非有一天我用到,否则我不会区分直方图和条形图)

    4.第四个例子:python 自定义图例(legend)

    我很喜欢这个例子,因为看起来legend很舒服,博主说:“背景:不是所有的句柄(handles)都可以自动转化成legend,所以有必要自己创建一个artist来实现此功能,可参考一下下面官方的文档:legend_guide,文档只创建了一个图例,比如我有下图,我就需要四个图例:

    import matplotlib.pyplot as plt
    import matplotlib.patches as mpatches
    import numpy as np
     
    if __name__ == '__main__':
    	max_lst_of_all = {}  #一个字典,value是四季最大阵风的风速值,key是年份
    	max_lst_of_all[2010] = [29.7, 34.3, 29.7, 26.3]
    	max_lst_of_all[2011] = [36.0, 30.2, 27.3, 30.9]
    	max_lst_of_all[2012] = [27.3, 32.3, 40.4, 27.8]
    	max_lst_of_all[2013] = [35.9, 29.9, 40.1, 33.3]
    	max_lst_of_all[2014] = [26.3, 30.6, 28.6, 34.3]
    	max_lst_of_all[2015] = [33.1, 27.0, 25.4, 30.7]
    	max_lst_of_all[2016] = [41.3, 31.3, 41.1, 38.0]
    	max_lst_of_all[2017] = [27.5, 31.2, 43.2, 41.2]
     
    	fig = plt.figure()
    	for key in max_lst_of_all.keys():
    		print(max_lst_of_all[key])
    		x = np.arange(key-0.3, key+0.31, 0.2)  #一年有四季,此行指定四季对应的bar的位置,比如2010年:2009.7,2009.9,2010.1,2010.3
    		y = max_lst_of_all[key]  #此行决定了bar的高度(风速值)
    		#bar_width = 0.2
    		color = ['lightskyblue', 'lime', 'red', 'gold']  #指定bar的颜色
    		for x1, y1, c1 in zip(x, y, color):  #遍历以上三者,每一次生成一条bar
    			plt.bar(x1, y1, width=0.2, color=c1)
    	#我试过这里不能直接生成legend,解决方法就是自己定义,创建legend
    	labels = ['winter', 'spring', 'summer', 'autumn']  #legend标签列表,上面的color即是颜色列表
    	#用label和color列表生成mpatches.Patch对象,它将作为句柄来生成legend
    	patches = [ mpatches.Patch(color=color[i], label="{:s}".format(labels[i]) ) for i in range(len(color)) ] 
    	ax=plt.gca()
    	box = ax.get_position()
    	ax.set_position([box.x0, box.y0, box.width , box.height* 0.8])
    #下面一行中bbox_to_anchor指定了legend的位置
    	ax.legend(handles=patches, bbox_to_anchor=(0.95,1.12), ncol=4) #生成legend
    	plt.show()

    于是:

    当然我也做了一些修改,因为我要横轴不是数字,而是字符。只要使用plt.xticks()函数就可以。

    "在matplotlib中ticks表示的是刻度,而刻度有两层意思,一个是刻标(locs),一个是刻度标签(tick labels)。在作图时,x轴y轴都是连续的,所以刻标可以随意指定,就是在连续变量上找寻位置,而刻度标签则可以对应替换.

    xticks(rotation:旋转度数):更改绘制x轴标签方向(与水平方向的逆时针夹角度数)"

    #plt.xticks()返回了两个对象,一个是刻标(locs),另一个是刻度标签
    locs, labels = plt.xticks()
    
    # 显示x轴的刻标
    plt.xticks( arange(6) )
    
    # 显示x轴的刻标以及对应的标签
    pltxticks( arange(5), ('Tom', 'Dick', 'Harry', 'Sally', 'Sue') )

    其实这些用excel也能做,那为什么还选python呢?因为用了脑子越用越熟练。

     

    展开全文
  • 肆意我们也必须知道这种坐标系如何出来的。有3个函数可以实现这种功能,分别是:semilogx(),semilogy(),loglog()。它们分别表示对X轴,Y轴,XY轴取对数。下面在一个2*2的figure里面来比较这四个子(还有...
  • 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# -*- ...

    Python——使用matplotlib绘制柱状图

    1、基本柱状图

               首先要安装matplotlib(http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot) 可以使用pip命令直接安装
    [python]  view plain  copy
    1. # -*- coding: utf-8 -*-  
    2. import matplotlib.pyplot as plt  
    3.   
    4. num_list = [1.5,0.6,7.8,6]  
    5. plt.bar(range(len(num_list)), num_list)  
    6. plt.show()  

    2、设置颜色

              
    [python]  view plain  copy
    1. # -*- coding: utf-8 -*-  
    2. import matplotlib.pyplot as plt  
    3.   
    4. num_list = [1.5,0.6,7.8,6]  
    5. plt.bar(range(len(num_list)), num_list,fc='r')  
    6. plt.show()  

    [cpp]  view plain  copy
    1. # -*- coding: utf-8 -*-  
    2. import matplotlib.pyplot as plt  
    3.   
    4. num_list = [1.5,0.6,7.8,6]  
    5. plt.bar(range(len(num_list)), num_list,color='rgb')  
    6. plt.show()  

    3、设置标签

    [python]  view plain  copy
    1. # -*- coding: utf-8 -*-  
    2. import matplotlib.pyplot as plt  
    3.   
    4. name_list = ['Monday','Tuesday','Friday','Sunday']  
    5. num_list = [1.5,0.6,7.8,6]  
    6. plt.bar(range(len(num_list)), num_list,color='rgb',tick_label=name_list)  
    7. plt.show()  

    4、堆叠柱状图

    [python]  view plain  copy
    1. # -*- coding: utf-8 -*-  
    2. import matplotlib.pyplot as plt  
    3.   
    4. name_list = ['Monday','Tuesday','Friday','Sunday']  
    5. num_list = [1.5,0.6,7.8,6]  
    6. num_list1 = [1,2,3,1]  
    7. plt.bar(range(len(num_list)), num_list, label='boy',fc = 'y')  
    8. plt.bar(range(len(num_list)), num_list1, bottom=num_list, label='girl',tick_label = name_list,fc = 'r')  
    9. plt.legend()  
    10. plt.show()  

    5、并列柱状图

    [python]  view plain  copy
    1. # -*- coding: utf-8 -*-  
    2. import matplotlib.pyplot as plt  
    3.   
    4. name_list = ['Monday','Tuesday','Friday','Sunday']  
    5. num_list = [1.5,0.6,7.8,6]  
    6. num_list1 = [1,2,3,1]  
    7. x =list(range(len(num_list)))  
    8. total_width, n = 0.82  
    9. width = total_width / n  
    10.   
    11. plt.bar(x, num_list, width=width, label='boy',fc = 'y')  
    12. for i in range(len(x)):  
    13.     x[i] = x[i] + width  
    14. plt.bar(x, num_list1, width=width, label='girl',tick_label = name_list,fc = 'r')  
    15. plt.legend()  
    16. plt.show()  

    6、条形柱状图

    [python]  view plain  copy
    1. # -*- coding: utf-8 -*-  
    2. import matplotlib.pyplot as plt  
    3.   
    4. name_list = ['Monday','Tuesday','Friday','Sunday']  
    5. num_list = [1.5,0.6,7.8,6]  
    6. plt.barh(range(len(num_list)), num_list,tick_label = name_list)  
    7. plt.show()  

    展开全文
  • python画柱状图和折线图

    千次阅读 2021-05-09 11:26:00
    画柱状图时,横坐标上的文字可能会重叠,我们可以根据自己的需要改变label的间距以及调节颜色的透明程度等。以下图为例: 对应的代码为: # 柱状图 import matplotlib.pyplot as plt # 调节x轴之间的间距 ...

    文章目录

    柱状图

    在画柱状图时,横坐标上的文字可能会重叠,我们可以根据自己的需要改变label的间距以及调节颜色的透明程度等。以下图为例:

    对应的代码为:

    # 柱状图
    import matplotlib.pyplot as plt 
    
    # 调节x轴之间的间距
    params = {
        'figure.figsize': '8, 4'
    }
    plt.rcParams.update(params)
    
    X=['sport','world','business','us','entertainment','sci_tech','health']
    Y=[782,955,835,688,508,459,285]  
    
    # 0.5是柱的粗细,alpha是颜色的透明程度,可以根据自己需要调节
    plt.bar(X,Y,0.5,color="red",alpha=0.6)
    
    # 设置横纵坐标以及title
    plt.xlabel("Topic Classification")
    plt.ylabel("News amount")
    plt.title("News Count")
       
    plt.show()  
    
    
    

    折线图

    在折线图上,有时需要我们加重数值点,可以让结果更加明显。以下图为例:

    对应的代码为:

    # 折线图
    import matplotlib.pyplot as plt
    
    y=[0.5882,0.5504,0.595,0.6255,0.6294,0.6364,0.642,0.6502,0.6492,0.656,0.6567,0.6598,0.658,0.6584]  
    x=['1','2','3','4','5','6','7','8','9','10','11','12','13','14']
    
    # ro-代表实心原点,alpha代表颜色的透明度,linewidth代码线的宽度,同时设置一个legend
    plt.plot(x, y, 'ro-', color='#4169E1', alpha=0.8, linewidth=3, label='K-value')
    
    plt.xlabel("K-value", fontsize=12)
    plt.ylabel("KNN Mean Accuracy", fontsize=12)
    
    # legend位置
    plt.legend(loc="upper left")
    
    plt.show()
    
    
    
    展开全文
  • 这篇文章主要介绍了python plotly画柱状图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下代码import pandas as pdimport numpy as npimport plotly....
  • 小编之前也和大家分享过python使用matplotlib实现的折线图和制饼图效果,感兴趣的朋友们也可以点击查看,下面来看看python使用matplotlib绘制柱状图的方法吧,具体如下: 1. 基本的柱状图 import matplotlib.pyplot...
  • 使用python实现双柱状图和三柱状图,并且在柱状图形的顶部显示对应数值;
  • 毕设--python画柱状图

    2021-10-08 22:07:27
    python画柱状图 def drawing_input_mass(input_mass): # font = FontProperties(fname='/Library/Fonts/Songti.ttc') ## 设置图片的大小 fig = plt.figure(figsize=(16,8),dpi=700) ## 设置柱子的宽度 width = 2 #...
  • Python 使用 matplotlib 画图是非常方便的,之前的文章记录了《Python 使用 matplotlib 画折线图教程》,今天就再次记录一下使用 matplotlib 画柱状图的教程。一般来说,也就折线图和柱状图这两种图比较常见,所以...
  • 本文实例讲述了Python画柱状统计操作。分享给大家供大家参考,具体如下:一、工具:python的matplotlib.pyplot 库二、案例:import matplotlib.pyplot as pltimport numpy as np#添加图形属性plt.xlabel('Age ...
  • ''' Descripttion: version: Author: LiQiang ...# matplotlib背景透明示例 # python 3.5 import numpy as np import matplotlib.pyplot as plt from pylab import mpl import scipy.stats as st.
  • python画柱状图

    2020-12-03 21:35:19
    今天刚开始用Excel了一张柱状图,发现横纵坐标的位置不好掌握,于是开始转到python,糟糕,发现好长时间没碰了。开始找之前练习过的代码,关于画图的部分粘贴过来,重新输入数据开始画图。 #导入画图工具包 import...
  • from matplotlibimport pyplotimport randomx = list(range(0,100))y = [random.randint(0,100) for r in range(0,100)]fig1 = pyplot.figure()#初始化一个空白画布...)#生成一个折线,X轴,Y轴,图形样式pyplo...
  • python画柱状图并数值显示

    万次阅读 多人点赞 2020-06-12 16:14:12
    /usr/bin/env python3 # -*- coding: utf-8 -*- # @Author: yudengwu # @Date : 2020/6/12 import matplotlib; matplotlib.use('TkAgg') from pylab import * mpl.rcParams['font.sans-serif'] = ['SimHei'] mpl....
  • 快速绘制几种简单的柱状图。1垂直柱图(普通柱图)绘制普通柱图的python代码如下:(左右滑动可以查看全部代码)12345678910111213141516171819202122232425262728# -*- coding:utf-8 -*-# 申明编码格式为utf-8...
  • =3]=0 # 画柱状图 plt.figure(figsize=(12,5)) sns.set(font='Times New Roman')#####需要注意seaborn中也有对字体的设置 plt.bar(x,y1,label='AP') plt.bar(x,y2,label='RS') plt.bar(x,y3,label='EA') plt.tick_...
  • 本文实例为大家分享了python使用matplotlib画柱状图、散点图的具体代码,供大家参考,具体内容如下 柱状图(plt.bar) 代码与注释 import numpy as np from matplotlib import pyplot as plt plt.figure(figsize=(9...
  • Proe Top-Down设计演示前段时间有网友问我,proe 里面有没有装配设计中当某一零件尺寸需要修改时, 与其相关的零件尺寸都需要随之做相应改变的法子.我认为top-down是很好的选择. 下面介绍一下top-down的理论: ......
  • 主要介绍了Python实现绘制双柱状图并显示数值功能,涉及Python数值运算及基于matplotlib的图形绘制相关操作技巧,需要的朋友可以参考下
  • python 画柱状图调节每个柱子的颜色

    万次阅读 2020-04-30 15:52:49
    ax1.bar(customers_index, sale_amounts,bar_width, align='center', color=['y','b','y', 'y','y']) 对应每个柱子把颜色补充就行
  • 本文实例为大家分享了python使用matplotlib画柱状图、散点图的具体代码,供大家参考,具体内容如下柱状图(plt.bar)代码与注释import numpy as npfrom matplotlib import pyplot as pltplt.figure(figsize=(9,6))n ...
  • 图表是比干巴巴的表格更直观的表达,简洁、有力。工作中经常遇到的场景是,有一些...把数值转化为图片要依赖第三方库的帮忙,在Python之中最好的图表库叫matplotlib。(一直觉得,Python最大的优势就是丰富的第三方...
  • 前言: 这个分类中主要记录一些平时写的一些简单的小程序,代码比较简单,不做任何解释 import matplotlib.pyplot as plt name = ['part1_00', 'part1_01', 'part1_02', 'part1_03', 'part2_00', 'part2_01',...
  • 使用python语言 画柱状图 代码: import matplotlib.pyplot as plt import numpy as np 构建数据 x_data =[‘nodesTotalNumber’, ‘totalPathLength’, ‘pathNodesNumber’, ‘NodeUtilization’, ‘time’] Y1 = ...
  • python画柱状图(2)

    2019-11-18 19:02:26
    excelFile = r'C:/Users/admin/Desktop/2019.10.05/柱状图/柱状图/多组/四个季度.xlsx' df = pd.DataFrame(pd.read_excel(excelFile)) df=df.values #转化为numpy类型,数据排列顺序不变 print(df) #为数据添加行...
  • python画柱状图,用不同的纹理

    千次阅读 2020-08-15 23:57:38
    Matplotlib Bar Chart: Display textures to bars and wedges https://www.w3resource.com/graphics/matplotlib/barchart/matplotlib-barchart-exercise-17.php

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,093
精华内容 4,437
关键字:

python画柱状图