2020-10-23直接在图形上画填充好的形状,美化图形,绘制极坐标

Python学习

如何直接在图形上画填充好的形状
如何美化图形
绘制极坐标

下面是Demo

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches #图形库
#plt.style.use('ggplot')
#进行美化处理ggplot为样式,共五种样式
#['bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn-bright'
plt.style.use('fivethirtyeight')
# #直接在图形上画填充好的形状
# fig,ax = plt.subplots()
# xy1=np.array([0.2,0.2])
# xy2=np.array([0.2,0.8])
# xy3=np.array([0.8,0.2])
# xy4=np.array([0.8,0.8])
# circle = mpatches.Circle(xy1,0.05,)
# #生成一个圆形的对象,第一个参数生成的圆形的圆心位置,第二个参数是为圆形的半径
# ax.add_patch(circle)
# #增加长方形
# rect=mpatches.Rectangle(xy2,0.2,0.1,color='r')
# #生成长方形,第一个参数为生成的位置,第二个参数为他的宽度,第三个参数为他的高,第四个给增加色彩
# ax.add_patch(rect)
# #生成多边形
# Polygon= mpatches.RegularPolygon(xy3,5,0.1,color='g')
# #第一个参数为生成的位置,第二个参数为生成多少个边,第三个为多变形的半径长度
# ax.add_patch(Polygon)
# #生成椭圆
# ellipse=mpatches.Ellipse(xy4,0.4,0.2,color='y')
# #第一个参数为生成的位置,第二三个参数为直径,和短直径
# ax.add_patch(ellipse)
# plt.axis('equal')#将圆形显示的更圆
# plt.grid()#增加网格的函数
# plt.show()

#美化图形
# fig,axes=plt.subplots(ncols=2,nrows=2)#生成4个子图,两行两列
# ax1,ax2,ax3,ax4=axes.ravel()#4个子图的坐标轴分别赋予给对象
# x,y=np.random.normal(size=(2,100))#随机的生成XY
# ax1.plot(x,y,'o')#x,y的散点图
# x = np.arange(0,10)
# y = np.arange(0,10)
# ncolors=len(plt.rcParams['axes.prop_cycle'])
# #plt.rcParams['axes.prop_cycle']这个的意思是它默认的一个颜色的循环
#
# shift = np.linspace(0,10,ncolors)
# for s in shift:
#     ax2.plot(x,y+s,'-')
#
# x = np.arange(5)
# y1,y2,y3=np.random.randint(1,25,size=(3,5))
# width=0.25
# ax3.bar(x,y1,width)#画出柱状图
# ax3.bar(x+width,y2,width)
# ax3.bar(x+2*width,y2,width)
#
# #圆形的图案
# for i,color in enumerate(plt.rcParams['axes.prop_cycle']):
#     xy=np.random.normal(size=2)
#     ax4.add_patch(plt.Circle(xy,radius=0.3,color=color['color']))
#
# ax4.axis('equal')
#
#
# plt.show()

#极坐标
r = np.empty(9)
r.fill(5)
pi_two=np.pi*2
theta=[0,pi_two/8,2*pi_two/8,3*pi_two/8,4*pi_two/8,5*pi_two/8,6*pi_two/8,7*pi_two/8,8*pi_two/8]
ax = plt.subplot(111,projection='polar')#projection投影的意思,polar极坐标的意思
ax.plot(theta,r,color='r',linewidth=3)
ax.grid(True)#增加网格
plt.show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值