首页 > 其他分享 >Matplotlib 散点图、柱形图、饼图绘制

Matplotlib 散点图、柱形图、饼图绘制

时间:2023-08-19 16:32:53浏览次数:46  
标签:None plt pyplot 散点图 Matplotlib 柱形图 np import array

1、Matplotlib 散点图

我们可以使用 pyplot 中的 scatter() 方法来绘制散点图。

scatter() 方法语法格式如下:

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None,
 norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, *, 
 edgecolors=None, plotnonfinite=False, data=None, **kwargs)
x,y:长度相同的数组,也就是我们即将绘制散点图的数据点,输入数据。

s:点的大小,默认 20,也可以是个数组,数组每个参数为对应点的大小。

c:点的颜色,默认蓝色 'b',也可以是个 RGB 或 RGBA 二维行数组。

marker:点的样式,默认小圆圈 'o'。

cmap:Colormap,默认 None,标量或者是一个 colormap 的名字,只有 c 是一个浮点数数组的时才使用。如果没有申明就是 image.cmap。

norm:Normalize,默认 None,数据亮度在 0-1 之间,只有 c 是一个浮点数的数组的时才使用。

vmin,vmax::亮度设置,在 norm 参数存在时会忽略。

alpha::透明度设置,0-1 之间,默认 None,即不透明。

linewidths::标记点的长度。

edgecolors::颜色或颜色序列,默认为 'face',可选值有 'face', 'none', None。

plotnonfinite::布尔值,设置是否使用非限定的 c ( inf, -inf 或 nan) 绘制点。

**kwargs::其他参数。
import matplotlib.pyplot as plt
import numpy as np

x=np.array([1,2,3,4,5])
y=np.array([1,2,3,4,5])
plt.scatter(x, y, s=25,c='r',alpha=0.6)# 大小为25像素、颜色为红色、透明度为0.6

Matplotlib 散点图、柱形图、饼图绘制_默认值

两组数据

x1 = np.array([1,4,3,7,34])
y1 = np.array([78,23,19,16,25])
plt.scatter(x1, y1, c='r', s=25)

x2 = np.array([22,15,34,51,21,4,12,45,1,47,5,78,34])
y2 = np.array([1,3,4,5,6,8,2,6,2,90,8,2,23])
plt.scatter(x2, y2, c='g', s=95)

plt.show()

Matplotlib 散点图、柱形图、饼图绘制_饼图_02

2、Matplotlib 柱形图

我们可以使用 pyplot 中的 bar() 方法来绘制柱形图。

bar() 方法语法格式如下:

matplotlib.pyplot.bar(x, height, width=0.8, 
bottom=None, *, align='center', data=None, **kwargs)
x:浮点型数组,柱形图的 x 轴数据。

height:浮点型数组,柱形图的高度。

width:浮点型数组,柱形图的宽度。

bottom:浮点型数组,底座的 y 坐标,默认 0。

align:柱形图与 x 坐标的对齐方式,'center' 以 x 位置为中心,这是默认值。
 'edge':将柱形图的左边缘与 x 位置对齐。
 要对齐右边缘的条形,可以传递负数的宽度值及 align='edge'。

**kwargs::其他参数。

例子:

import matplotlib.pyplot as plt
import numpy as np

x=np.array(['google','baidu','jingdong','alibaba','taobao'])
y=np.array([11,32,34,24,15])
plt.bar(x,y)
plt.show()

Matplotlib 散点图、柱形图、饼图绘制_默认值_03

垂直方向的柱形图可以使用 barh() 方法来设置:

import matplotlib.pyplot as plt
import numpy as np

x=np.array(['google','baidu','jingdong','alibaba','taobao'])
y=np.array([11,32,34,24,15])
plt.barh(x,y)
plt.show()

Matplotlib 散点图、柱形图、饼图绘制_数组_04

设置柱形图宽度,bar() 方法使用 width 设置,barh() 方法使用 height 设置 height:

import matplotlib.pyplot as plt
import numpy as np

x=np.array(['google','baidu','jingdong','alibaba','taobao'])
y=np.array([11,32,34,24,15])
plt.bar(x,y,width=0.2)
plt.show()

Matplotlib 散点图、柱形图、饼图绘制_饼图_05

x = ['一月','二月','三月','四月','五月']
y = [20,56,23,12,33]
plt.barh(x,y, height=0.2)
plt.show()

Matplotlib 散点图、柱形图、饼图绘制_数组_06

还可以使用color属性自定义每个柱形的颜色

x = ['一月','二月','三月','四月','五月']
y = [20,56,23,12,33]
plt.barh(x,y, height=0.2, color = ["#4CAF50","red","hotpink","#556B2F"])
plt.show()

Matplotlib 散点图、柱形图、饼图绘制_数组_07

3、Matplotlib 饼图

我们可以使用 pyplot 中的 pie() 方法来绘制饼图。

注意:默认情况下,第一个扇形的绘制是从 x 轴开始并逆时针移动:

pie() 方法语法格式如下:

matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, 
pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, 
counterclock=True, wedgeprops=None, textprops=None, center=0, 0, frame=False, 
rotatelabels=False, *, normalize=None, data=None)[source]
x:浮点型数组,表示每个扇形的面积。

explode:数组,表示各个扇形之间的间隔,默认值为0。

labels:列表,各个扇形的标签,默认值为 None。

colors:数组,表示各个扇形的颜色,默认值为 None。

autopct:设置饼图内各个扇形百分比显示格式,%d%% 整数百分比,%0.1f 一位小数, %0.1f%% 一位小数百分比, %0.2f%% 两位小数百分比。

labeldistance:标签标记的绘制位置,相对于半径的比例,默认值为 1.1,如 <1则绘制在饼图内侧。

pctdistance::类似于 labeldistance,指定 autopct 的位置刻度,默认值为 0.6。

shadow::布尔值 True 或 False,设置饼图的阴影,默认为 False,不设置阴影。

radius::设置饼图的半径,默认为 1。

startangle::起始绘制饼图的角度,默认为从 x 轴正方向逆时针画起,如设定 =90 则从 y 轴正方向画起。

counterclock:布尔值,设置指针方向,默认为 True,即逆时针,False 为顺时针。

wedgeprops :字典类型,默认值 None。参数字典传递给 wedge 对象用来画一个饼图。例如:wedgeprops={'linewidth':5} 设置 wedge 线宽为5。

textprops :字典类型,默认值为:None。传递给 text 对象的字典参数,用于设置标签(labels)和比例文字的格式。

center :浮点类型的列表,默认值:(0,0)。用于设置图标中心位置。

frame :布尔类型,默认值:False。如果是 True,绘制带有表的轴框架。

rotatelabels :布尔类型,默认为 False。如果为 True,旋转每个 label 到指定的角度。
import matplotlib.pyplot as plt
import numpy as np

y=np.array([15,35,25,5,20]) # 每块所占的大小
label=['A','B','C','D','E']#设置饼图标签
color=['r','b','g','y','g']#设置饼图颜色
plt.pie(y,labels=label,colors=color)
plt.show()

Matplotlib 散点图、柱形图、饼图绘制_默认值_08

突出显示第二个扇形,并格式化输出百分比:

import matplotlib.pyplot as plt
import numpy as np

y=np.array([15,35,25,5,20])
label=['A','B','C','D','E']#设置饼图标签
color=['r','b','g','y','g']#设置饼图颜色
explodes=[0,0.2,0,0,0]# 第二部分突出显示,值越大,距离中心越远
plt.pie(y,labels=label,colors=color,explode=explodes,autopct='%.2f%%')#格式化输出百分比
plt.show()

Matplotlib 散点图、柱形图、饼图绘制_默认值_09

标签:None,plt,pyplot,散点图,Matplotlib,柱形图,np,import,array
From: https://blog.51cto.com/u_16131726/7150587

相关文章

  • Python通过matplotlib包和gif包生成gif动画
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • some ticks in Matplotlib
    It'simportmatplotlib.pyplotasplt rantherthanimportmatplotlibasplt.Weoftencodeplt.subplot(121),plt.imshow(img),plt.title('Input'),plt.xticks([]),plt.yticks([])plt.subplot(rows,columns,index) plt.subplot(121)means column......
  • Matplotlib设置坐标轴的刻度
    设置坐标轴的刻度以设置x轴的刻度为例xticks(ticks,[labels],**kwargs)参数说明:ticks:数组类型,用于设置X轴刻度间隔[labels]:数组类型,用于设置每个间隔的显示标签**kwargs:用于设置标签字体倾斜度rotation和颜色color等外观属性。不设置刻度时的样式x=np.arange(1,13)y=np.......
  • vscode中使用echarts(横向柱形图)
    第一步:引入echartsimport*asechartsfrom"echarts";第二步:准备一个放入echarts的盒子<template><div><divclass="bar"></div></div></template>第三步:绘制图表drawBar(){letmyChart=echarts.init(d......
  • 数据量较大时,python 如何加速 matplotlib 的作图
    数据量较大时,python如何加速matplotlib的作图?GeneratedbyChatGPT当数据量较大时,matplotlib可能会变得缓慢。下面是一些可以加速matplotlib作图的方法:使用blitting:blitting是一种将图形上下文缓存到位图中的技术,可以提高图形更新的速度。使用数据抽样:通过对数据进行抽......
  • VScode+X11支持连接服务器时支持open3d、openCV、matplotlib等可视化
    背景连接服务器以后,想用open3d可视化点云、matplotlib画点图,但是一直不能用,原因也很简单,就是没有配置GUI传输显示,那肯定是要配置X11相关的东西。过程服务器确保服务器下载了xterm、xorg-x11-xauth两个包,不确定可以用dpkg-l加正则表达式查看,应该基本上都有。之后检查/etc/ssh/......
  • Matplotlib学习挑战第五关--绘制多图subplot() 和 subplots()
    Matplotlib绘制多图我们可以使用pyplot中的subplot()和subplots()方法来绘制多个子图。subplot()方法在绘图时需要指定位置,subplots()方法可以一次生成多个,在调用时只需要调用生成对象的ax即可。1、subplotsubplot(nrows,ncols,index,**kwargs)subplot(pos,**kwar......
  • Matplotlib绘图第七关--设置坐标轴的刻度xticks、yticks
    设置图例首先需要给每条线添加一个label,然后使用legend函数设置图例month=np.arange(1,13)cost=np.random.randint(10,1000,12,int)#12个月的支出income=np.random.randint(0,1000,12,int)#12个月的收入plt.xticks(month,['%d月'%iforiinmonth])#x轴会自动只显......
  • Matplotlib绘图第七关--设置坐标轴的刻度xticks、yticks
    设置坐标轴的刻度以设置x轴的刻度为例xticks(ticks,[labels],**kwargs)参数说明:ticks:数组类型,用于设置X轴刻度间隔[labels]:数组类型,用于设置每个间隔的显示标签**kwargs:用于设置标签字体倾斜度rotation和颜色color等外观属性。不设置刻度时的样式x=np.arange(1,13)y=np.......
  • Matplotlib设置图例legend、线条数据值text
    设置图例首先需要给每条线添加一个label,然后使用legend函数设置图例month=np.arange(1,13)cost=np.random.randint(10,1000,12,int)#12个月的支出income=np.random.randint(0,1000,12,int)#12个月的收入plt.xticks(month,['%d月'%iforiinmonth])#x轴会自动只显......