目录

  • 第一部分:基本图形
  • 一.散点图
  • 二.折线图
  • 三.条形图
  • 四.直方图
  • 五.饼状图
  • 六.箱型图
  • 备注


第一部分:基本图形

一.散点图

散点图能描述两个变量的联系:正相关、负相关或无关。

import numpy as np
import matplotlib.pyplot as plt

N=1000
x=np.random.randn(N)
y1=np.random.randn(len(x))

plt.scatter(x, y1, s=50, marker='o', c='red', alpha=0.5)
plt.show()

plt.scatter()中:

s:每个点的面积;

marker:点的类型,o–圆形;

c或color:点的颜色;

alpha:点的透明度,1–不透明,0–透明。

python 给透明图片添加背景_浮点数

二.折线图

用直线将数据连接,用于观察变量随x轴(时间)变化的趋势。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

def bytedate2num(fmt):
    def converter(b):
        return mdates.strpdate2num(fmt)(b.decode('ascii'))
    return converter

date_converter = bytedate2num('%m/%d/%Y')

date,open,close=np.loadtxt('000001.csv',delimiter=',',converters={0:date_converter},skiprows=1,usecols=(0,1,4),unpack=True)

plt.plot_date(date,open,linestyle='-',color='blue',marker='o')
plt.show()

plt.plot()和plt.plot_date()中:

marker:点的类型,o–圆形;

color:点的颜色;

linestyle:线段类型。

python 给透明图片添加背景_python 给透明图片添加背景_02

三.条形图

高度代表大小,用于比较多个项目分类的数据大小。
1.竖直的条形图plt.bar():

import numpy as np
import matplotlib.pyplot as plt

index=np.arange(4)
sales_BJ=[52,55,63,53]
sales_SH=[44,66,55,41]
bar_width=0.3

# 1.无堆叠,多组数据并列显示
plt.bar(x=index,height=sales_BJ,width=bar_width,color='b')
plt.bar(x=index+bar_width,height=sales_SH,width=bar_width,color='r')
plt.show()

# 2.有堆叠,多组数据在一列显示
# plt.bar(index,sales_BJ,bar_width,color='b')
# plt.bar(index,sales_SH,bar_width,color='r',bottom=sales_BJ)
# plt.show()

x:每个条形中心的横坐标;

height:每个条形的高度;

width:每个条形的宽度,默认为0.5;

bottom:每个条形的底部基准,默认为0;

color:颜色。

1)无堆叠

python 给透明图片添加背景_python_03


2)有堆叠:把第二组数据的起点bottom设置为第一组数据

python 给透明图片添加背景_数据_04


2.水平的条形图plt.barh():

import numpy as np
import matplotlib.pyplot as plt

index=np.arange(4)
sales_BJ=[52,55,63,53]
sales_SH=[44,66,55,41]
bar_width=0.3

# 1.无堆叠,多组数据并列显示
plt.barh(y=index,width=sales_BJ,height=bar_width,color='blue')
plt.barh(y=index+bar_width,width=sales_SH,height=bar_width,color='red')
plt.show()

# 2.有堆叠,多组数据在一列显示
# plt.barh(y=index,width=sales_BJ,height=bar_width,color='b')
# plt.barh(y=index,width=sales_SH,height=bar_width,color='r',left=sales_BJ)
# plt.show()

y:每个水平条形中心的纵坐标;

height:每个条形的纵向高度(宽度),默认为0.5;

width:每个条形的横向宽度(长度);

left:每个条形的左边基准,默认为0;

color:颜色。

1)无堆叠

python 给透明图片添加背景_python_05


2)有堆叠:把第二组数据的起点left设置为第一组数据

python 给透明图片添加背景_数据_06

四.直方图

一系列高度不等的纵向条形组成,表示数据分布情况。
条形图:表示不同类别的数据;
直方图:表示同类别数据的分布情况。

import numpy as np
import matplotlib.pyplot as plt

mu = 100  # mean of distribution
sigma = 20  # standard deviation of distribution
x = mu + sigma * np.random.randn(2000)

plt.hist(x, bins=10,color='red',normed=True)
plt.show()

直方图plt.hist():

bins:分成的份数;

normed:标准化,显示所占比例,默认为False,显示具体数字;

color:颜色。

python 给透明图片添加背景_无符号整数_07

五.饼状图

显示一个数据系列中各项的大小和比例

import matplotlib.pyplot as plt

labels = 'A', 'B', 'C', 'D'
fracs = [15, 30, 45, 10]
#设置各部分是否突出显示,即远离圆心
explode = (0, 0.05, 0, 0) #list也可以

#通过.axes()设置轴向,即x轴与y轴比例
plt.axes(aspect=1)
plt.pie(fracs, explode=explode, labels=labels, autopct='%.1f%%', shadow=True)
plt.show()

饼状图plt.pie():

explode:设置突出显示比例,元祖或列表形式,存储各部分突出比例;

labels:设置各部分标签;

autopct:设置显示格式,%.1f%%----输出一位小数的float+%,详情见备注1。

python 给透明图片添加背景_python_08

六.箱型图

用于显示一组数据分散情况的统计图。

import numpy as np
import matplotlib.pyplot as plt

data = np.random.normal(size=(100, 4), loc=0.0, scale=1.0)
labels = ['A','B','C','D']

plt.boxplot(data, labels=labels,sym='o',whis=1)
plt.show()

箱型图plt.boxplot():

labels:数据标签;

sym:异常值的图形;

whis:异常值数量所占的比例,whis越大则异常值所占比越大。

python 给透明图片添加背景_python_09

备注

1.python中%的相关用法:
%% 百分号标记 #就是输出一个%
%c 字符及其ASCII码
%s 字符串
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中