和弦是指有一定音程关系的一组声音,例如1、3、5组成C和弦,我入门学的第一个和弦。
可以使用python的matplotlib库来绘制和弦图,matplotlib一般是用来分析数据用的。
和弦图像一个4行5列的网格,表示琴弦的位置和品柱位置。
图:4行5列的网格
环境:Window10 + Python 3.10.1?
import matplotlib.pyplot as plt
def draw_block():
plt.cla()
plt.clf()
plt.figure(figsize=(6, 6))
#plt.axis('off')
#plt.gca().set_facecolor(back_color)
plt.gca().get_xaxis().set_visible(False)
plt.gca().get_yaxis().set_visible(False)
plt.xlim(0.5,6.5)
plt.ylim(0.5,5.5)
plt.plot([1,1],[1,5],color='#000000' ,linewidth=10)
plt.plot([2,2],[1,5],color='#000000' ,linewidth=10)
plt.plot([3,3],[1,5],color='#000000' ,linewidth=10)
plt.plot([4,4],[1,5],color='#000000' ,linewidth=10)
plt.plot([5,5],[1,5],color='#000000' ,linewidth=10)
plt.plot([6,6],[1,5],color='#000000' ,linewidth=10)
plt.plot([1,6],[1,1],color='#000000' ,linewidth=10)
plt.plot([1,6],[2,2],color='#000000' ,linewidth=10)
plt.plot([1,6],[3,3],color='#000000' ,linewidth=10)
plt.plot([1,6],[4,4],color='#000000' ,linewidth=10)
plt.plot([1,6],[5,5],color='#000000' ,linewidth=10)
def draw_point():
#二弦一品
plt.scatter(5, 4.5, color='black',marker='o',s=1000)
#四弦二品
plt.scatter(3, 3.5, color='black',marker='o',s=1000)
#五弦三品
plt.scatter(2, 2.5, color='black',marker='o',s=1000)
draw_block()
draw_point()
plt.show()
第一步:使用draw_block函数绘制出网格。
??第二步:使用draw_point就是在品柱上画三个圆点。
?画和弦的基本思路就是两步,其他和弦绘制也按照这个思路,需要调整圆点的位置。
我使用这个方法绘制了几十个和弦,需要和弦图可从这获取:
www.aljita.cn/tool
|