python画玫瑰花(python樱花飘落代码)
python气象绘图windrose
#导入包
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
from matplotlib.ticker import FuncFormatter
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']? #设置简黑字体
mpl.rcParams['axes.unicode_minus'] = False? #设置负号正常显示
#----获取数据DataFrames,index*columns。index表示不同值范围,columns表示十六个风向
data = pd.DataFrame(wind_d_max_num_per,
? ? ? ? ? ? ? ? ? ? index=['15', '15~25', '25~35', '35~45',"≥45"],
? ? ? ? ? ? ? ? ? ? columns='N NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW'.split())
N = 16 # 风速分布为16个方向
theta = np.linspace(0, 2*np.pi, N, endpoint=False) # 获取16个方向的角度值
width = np.pi / 4 * 0.4? # 绘制扇型的宽度,可以自行调整0.5时是360,充满,有间隔的话小于0.5即可
labels = list(data.columns) # 自定义坐标标签为 N , NSN, ……# 开始绘图
plt.figure(figsize=(6,6),dpi=600)
ax = plt.subplot(111, projection='polar')
#----自定义颜色
mycolor =['cornflowerblue','orange','mediumseagreen','lightcoral','cyan']
#----循环画风玫瑰图
i=0
for idx in data.index:
? ? print(idx)
? ? # 每一行绘制一个扇形
? ? radii = data.loc[idx] # 每一行数据
? ? if i == 0:
? ? ? ? ax.bar(theta, radii, width=width, bottom=0.0, label=idx, tick_label=labels,
? ? ? ? ? color=mycolor[i])
? ? else:
? ? ? ? ax.bar(theta, radii, width=width, bottom=np.sum(data.loc[data.index[0:i]]), label=idx, tick_label=labels,
? ? ? ? ? color=mycolor[i])
? ? i=i+1
#此种画法,注意bottom设置,第一个bottom为0,后续bottom需要在前一个基础上增加。
ax.set_xticks(theta)
ax.set_xticklabels(labels,fontdict={'weight':'bold','size':15,'color':'k'})
ax.set_theta_zero_location('N') #设置零度方向北
ax.set_theta_direction(-1)? ? # 逆时针方向绘图
#----设置y坐标轴以百分数显示
plt.gca().yaxis.set_major_formatter(FuncFormatter(lambda s, position: '{:.0f}%'.format(100*s)))
plt.legend(loc=4, bbox_to_anchor=(0.05, -0.25),fontsize=12) # 将label显示出来, 并调整位置
#----保存图片
plt.savefig("./windrose1.svg")
用Python matplotlib 怎么画风向玫瑰图 能给出程序的
import?numpy?as?np
import?matplotlib.pyplot?as?plt
N?=?20
theta?=?np.linspace(0.0,?2?*?np.pi,?N,?endpoint=False)
radii?=?10?*?np.random.rand(N)
width?=?np.pi?/?4?*?np.random.rand(N)
ax?=?plt.subplot(111,?projection='polar')
bars?=?ax.bar(theta,?radii,?width=width,?bottom=0.0)
#?Use?custom?colors?and?opacity
for?r,?bar?in?zip(radii,?bars):
????bar.set_facecolor(plt.cm.jet(r?/?10.))
????bar.set_alpha(0.5)
plt.show()
差不多上面代码的原理,具体的自己照着官方文档改
python-繁花曲线规图案
python-繁花曲线规图案
[简介]
繁花曲线规现已成为儿童的一种智力 玩具 和设计工具,它由一套 彩色 塑料齿轮组成。一个内齿轮是环状的,齿做在里面;几个小外齿轮的齿做在外面,外齿轮内部有一些小圆孔和几个其它形状的、较大的孔。
[原理]
大小齿轮的齿数之比,约为 最简分数 时,其分母就是小齿轮的自转数,分母与分子之和就是 图案 中的花瓣数。而 分子 就是小齿轮沿着大齿轮的公转数。所以,只要掌握这个最简分数,就能知道画出来的图案大概是什么形状的。
总而言之,选择不同的齿轮与不同的孔,就可画出细腻、动人的各种曲线,例如玫瑰线、内摆线等等。
用繁花曲线规完成的图案:
下面我们一起用python来画一个繁花曲线规完成的漂亮图案:
首先我们先导入turtle:
第二步:定义画笔:
第三步:根据for循环和角度的确认完成图案的绘制
最后我们一起来看一下效果:
[总结]我们今天是用turtle来绘制的繁花曲线规的图案,并且应用for循环和角度的确认来完成。之前我们看用尺来画的都是彩色的,那小朋友能不能把我们今天绘制的图案变成彩色的呢?
python音乐可视化:好玩的matplotlib南丁格尔玫瑰图版
效果图:
操作演示:
技术要点:
1 matplotlib的南丁格尔玫瑰图,用极坐标polar制作,并动画显示。
2 pygame新版的播放mp3,但本机的操作系统不能播放mp3,我用pydub做些格式转换。
3 用librosa获取音乐的相关数据和采样。
4 参考代码,并对源代码进行修改,增加,删减,排版和注释,感谢原作者,如有侵权,请联系,定删除。
====下面分步,讲解代码====
第1步:模块导入
第2步:窗口的初始化设置
第3步:参数设置
第4步:核心代码:
第5步:filter类
第6步:函数定义
第7步:启动主函数
自己整理,分享出来,希望大家喜欢。