python绘图---matplotlib几个简单例子

一、前提

import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties 
font_set = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=15)#导入宋体字体文件

二、绘制直线或折线

dataX = [1,2,3,4]
dataY = [1,2,3,1]
plt.plot(dataX,dataY)#plot还有很多参数,可以查API修改,如颜色,虚线等
plt.title("绘制直线",FontProperties=font_set);
plt.xlabel("x轴",FontProperties=font_set);
plt.ylabel("y轴",FontProperties=font_set);
plt.show()

直线

三、绘制条形图

# 条形图
x = [0,1,2,4,5,6]
y = [1,2,3,2.1,4,1]
plt.bar(x,y)#竖的条形图
#plt.barh(x,y)#横的条形图,注意x,y坐标
plt.title("条形图",FontProperties=font_set);
plt.xlabel("x轴",FontProperties=font_set);
plt.ylabel("y轴",FontProperties=font_set);
plt.show()

这里写图片描述

四、散点图

# 散点图
x = [1,2,3,4,5,6,7,8,9]
y = [0,2,3,4,2,3,4,5,4]
plt.scatter(x,y)
# plt.scatter(x, y,c="g", alpha=0.5, marker=r'$\clubsuit$',label="Luck")
plt.show()

散点图

五、饼图

# 饼图
from pylab import *  
mpl.rcParams['font.sans-serif'] = ['SimHei'] 
#解决中文不显示,pie没有FontProperties属性,不能使用上面的方法

labels = ("红","绿","蓝","黄","灰")
colors = ("red","green","blue","yellow","gray")
fracs = [10,20,30,20,20]

plt.pie(fracs,labels=labels,colors=colors,autopct='%1.0f%%')
plt.show()

这里写图片描述

六、雷达图

import numpy as np
#标签
labels = np.array(['进攻','防御','生存','补刀','魔法'])
#数据个数
dataLenth = 5
#数据
data = np.array([2,4,3,5,1])

angles = np.linspace(0, 2*np.pi, dataLenth, endpoint=False)
# linspace创建等差数列 0到2pi之间dataLength个数据
# 第二个数据是否是最后的数据,默认为True
data = np.concatenate((data, [data[0]])) # 闭合
# 加入第一个数据,闭合

angles = np.concatenate((angles, [angles[0]])) # 闭合
# 角度也闭合

fig = plt.figure()
ax = fig.add_subplot(111, polar=True)# polar参数!!
# 111表示1行1列处于第1个,polar设为极坐标

ax.plot(angles, data, 'bo-', linewidth=2)# 画线
ax.fill(angles, data, facecolor='b', alpha=0.25)# 填充
ax.set_thetagrids(angles * 180/np.pi, labels, fontproperties=font_set)
ax.set_title("能力图", va='bottom', fontproperties=font_set)
ax.set_rlim(0,5)
ax.grid(True)
plt.show()

这里写图片描述

更多例子可以访问matplotlib官网

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 下面是一个使用 Matplotlib 实现的射线法的例子: ``` import matplotlib.pyplot as plt import numpy as np def ray_tracing(x_0, y_0, x_1, y_1): # 计算射线的角度 angle = np.arctan2(y_1 - y_0, x_1 - x_0) # 计算射线的长度 length = np.sqrt((y_1 - y_0) ** 2 + (x_1 - x_0) ** 2) # 生成射线 x = np.linspace(x_0, x_0 + length * np.cos(angle), 100) y = np.linspace(y_0, y_0 + length * np.sin(angle), 100) return x, y # 起点坐标 x_0, y_0 = 0, 0 # 终点坐标 x_1, y_1 = 10, 10 # 计算射线 x, y = ray_tracing(x_0, y_0, x_1, y_1) # 绘制图像 plt.plot(x, y) plt.xlim(-10, 20) plt.ylim(-10, 20) plt.show() ``` 运行这段代码将会生成一幅图像,显示从 `(x_0, y_0)` 起点开始,向 `(x_1, y_1)` 终点的射线。 ### 回答2: matplotlib射线法是一种用于绘制二维图形的方法,它可以通过定义一个起点和一个方向来绘制一条射线。以下是一个简单matplotlib射线法的例子: 首先,我们需要导入matplotlib库和numpy库来进行图形绘制和计算。代码如下: ```python import matplotlib.pyplot as plt import numpy as np ``` 接下来,我们可以定义起点和方向。假设起点为(0, 0),方向为(1, 1)。代码如下: ```python start_point = np.array([0, 0]) # 起点 direction = np.array([1, 1]) # 方向 ``` 然后,我们可以创建一个图形窗口,并绘制坐标轴。代码如下: ```python fig, ax = plt.subplots() ax.axhline(0, color='black', linewidth=0.5) # 绘制x轴 ax.axvline(0, color='black', linewidth=0.5) # 绘制y轴 ``` 接下来,我们可以使用射线法来计算射线与坐标轴的交点,并绘制射线。代码如下: ```python # 计算射线与x轴的交点 x_intersection = start_point[0] - start_point[1] / direction[1] * direction[0] ax.plot([start_point[0], x_intersection], [start_point[1], 0], color='red') # 计算射线与y轴的交点 y_intersection = start_point[1] - start_point[0] / direction[0] * direction[1] ax.plot([0, y_intersection], [start_point[1], y_intersection], color='blue') ``` 最后,我们可以设置图形的范围,并显示图像。代码如下: ```python ax.set_xlim([-10, 10]) # 设置x轴范围 ax.set_ylim([-10, 10]) # 设置y轴范围 plt.show() # 显示图形 ``` 通过以上几步,我们就可以使用matplotlib射线法来绘制指定起点和方向的射线。 ### 回答3: matplotlib射线法是一种用于绘制二维图形中的一种方法。下面以一个简单的射线法例子来介绍。 首先,我们需要导入matplotlib库: ``` import matplotlib.pyplot as plt ``` 接下来,我们创建一个画布和子图: ``` fig, ax = plt.subplots() ``` 然后,我们定义射线的起点和终点坐标: ``` start_point = (0, 0) end_point = (1, 1) ``` 接着,我们使用matplotlib的Axes对象的`plot`方法绘制两点连线: ``` ax.plot([start_point[0], end_point[0]], [start_point[1], end_point[1]]) ``` 最后,我们使用matplotlib的`show`方法展示图像: ``` plt.show() ``` 通过运行以上代码,就可以绘制一条从起点到终点的射线。 除了上述的射线绘制,matplotlib还提供了很多其他绘图功能,比如绘制散点图、折线图、柱状图等等。我们可以通过调整参数和使用不同的方法来实现各种不同类型的图形。 总结起来,matplotlib射线法是一种用于绘制二维图形的方法,通过定义起点和终点坐标,并利用matplotlib库的`plot`方法将两点连线,可以实现射线的绘制。这只是matplotlib库功能之一,它还提供了许多其他有用的功能,可以根据需求进行绘图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aabond

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值