一直觉得circos图 很好看,最近尝试了一下 对中间关系曲线的 绘制

主要利用的数学工具是 贝塞尔曲线

但是对贝塞尔曲线中间的控制点取值 还是不太满意 造成部分曲线看着有点奇怪

成品大概是这样

代码如下:

import matplotlib.pyplot as plt

import numpy as np

import pandas as pd

import random

Start1=[0 for i in range(50)]

for i in range(60):

Start1.append(5/np.power(2,0.2))

for i in range(80):

Start1.append(-5/np.power(2,0.2))

df=pd.DataFrame(Start1,columns=['Startx'])

df['Starty']=np.power(25-np.power(df['Startx'],2),0.5)*-1

df['Endx']=[random.uniform(-5,5.0) for i in range(len(df))]

df['Endy']=np.power(25-np.power(df['Endx'],2),0.5)*[random.sample([1,-1], 1)[0] for i in range(len(df))]

df['']=np.power(25-np.power(df['Endx'],2),0.5)

df['斜率1']=(df['Starty']-df['Endy'])/(df['Startx']-df['Endx'])

df['斜率2']=-1/df['斜率1']

df['中心点x']=(df['Startx']+df['Endx'])/2

df['中心点y']=(df['Starty']+df['Endy'])/2

df['x轴移动']=df['中心点x']-df['中心点x']*(0.05)

df['y轴移动']=df['x轴移动']*df['斜率2']

df['控制点x']=df['中心点x']-df['x轴移动']

df['控制点y']=df['中心点y']-df['y轴移动']

df['r1']=np.power(df['Startx']*df['Startx']+df['Starty']*df['Starty'],1/2)

df['theta1']=np.arctan2(df['Starty'],df['Startx'])

df['r2']=np.power(df['Endx']*df['Endx']+df['Endy']*df['Endy'],1/2)

df['theta2']=np.arctan2(df['Endy'],df['Endx'])

fig=plt.figure(figsize=[15,15])

ax=fig.add_subplot(1,1,1,projection='polar')

t=np.linspace(0,1,1000)

for i in range(len(df)):

x_c=(1-t)*(1-t)*df.iloc[i]['Startx']+2*t*(1-t)*df.iloc[i]['控制点x']+t*t*df.iloc[i]['Endx']

y_c=(1-t)*(1-t)*df.iloc[i]['Starty']+2*t*(1-t)*df.iloc[i]['控制点y']+t*t*df.iloc[i]['Endy']

r=np.power(y_c*y_c+x_c*x_c,0.5)

theta=np.arctan2(y_c,x_c)

ax.plot(theta,r,color=(0/255,123/255,187/255),alpha=0.5)

ax.scatter(df[['theta1','theta2']],df[['r1','r2']],color=(0/255,123/255,87/255),alpha=1)

ax.bar(x=df['theta2'],height=[2],bottom=6,width=0.01,color=(225/255,225/255,225/255),alpha=0.5)

plt.axis('off')

讲解留到以后吧

之前一直以为参数算错了 后来发现是坐标轴的起点没有设置好

需改了坐标轴设置后,在增加对粗细的修改

python画circos图_​用Python把图做的好看点:用Matplotlib画个Circos和弦图相关推荐

  1. python画图程序没有图_解决python中使用plot画图,图不显示的问题

    解决python中使用plot画图,图不显示的问题 对以下数据画图结果图不显示,修改过程如下 df3 = {'chinese':109, 'American':88, 'German': 66, 'K ...

  2. python画交互式地图_使用Python构建交互式地图-入门指南

    python画交互式地图 Welcome to The Beginner's Guide to Building Interactive Maps in Python 欢迎使用Python构建交互式地 ...

  3. python简单图画程序_用Python的Turtple画图形

    不知道各位是否还记得在小学或者初中的时候,我们接触过一种语言叫做logo语言,这个语言可以画正方形,画三角形,画圆.而用Python画图形也有点类似logo语言的意思. 在画图之前,我们需要启动一个模 ...

  4. python画猪头_使用Python画小猪佩奇 社会人标配

    看了一些用python实现小猪佩奇画画的帖子,向自己实现下,以此记录. 社会人的标配是谁,当然是吹风机小猪佩奇身上纹. 我自己尝试画过小猪配齐但是感觉眼睛特别难画,画出来的猪头没有立体感,眼睛画不好整 ...

  5. python 绘制k线图_利用python numpy+matplotlib绘制股票k线图的方法

    一.python numpy + matplotlib 画股票k线图 # -- coding: utf-8 -- import requests import numpy as np from mat ...

  6. python绘制简单城市剪影图_利用Python的folium包绘制城市道路图的实现示例

    写在前面 很长一段时间内,我都在研究在线地图的开发者文档,百度地图和高德地图的开发者中心提供了丰富的在线地图服务,虽然有一定的权限限制,但不得不说,还是给我的科研工作提供了特别方便的工具,在博客前面我 ...

  7. 用python画路飞代码_用Python画路飞骷髅图案【附代码】

    用Python代码实现这幅图的绘制,由于学艺不精,只能用直角坐标系作为参考画出来. 配色的RGB取色色块 还有重要的量角器兄弟 下面是代码 #路飞骷髅 import turtle as t #黄底帽子 ...

  8. 用python画路飞代码_用Python画路飞骷髅图案【附代码】-Go语言中文社区

    用Python代码实现这幅图的绘制,由于学艺不精,只能用直角坐标系作为参考画出来. 配色的RGB取色色块 还有重要的量角器兄弟 下面是代码 #路飞骷髅 import turtle as t #黄底帽子 ...

  9. Python识别表格图_使用Python究竟可以做什么?下面是Python的3个主要应用

    原文传送门: https://medium.com/free-code-camp/what-can-you-do-with-python-the-3-main-applications-518db9a ...

  10. 用python的turtle画等边三角形讲解_通过Python turtle绘制等边三角形谈编程思维和逻辑...

    相信三角形对于绝大数人来说,是再熟悉不过的一个几何图形了,并且在现实生活和工作中也经常遇见,如果要画的话,相信很多人也会说,简单的很啊,画三条相等的线段,每两个线段的夹角为60度就可以了啊,也许我们借 ...

最新文章

  1. Linux系统时间和时序,什么是时序竞态 Linux系统时序竞态问题分析
  2. python语言怎么用-python语言中with as的用法使用详解
  3. DispatcherServlet默认配置
  4. 【数学和算法】SVD奇异值分解原理、以及在PCA中的运用
  5. VS2008 fatal error LNK1000: Internal error during IncrBuildImage 解决方案
  6. C++ Vector的使用
  7. gif透明背景动画_常用GIF动图制作工具,抖音里面的动图都是这些工具做出来的...
  8. axios 最全 请求拦截器 响应拦截器 配置公共请求头 超时时间 以及get delete post put 四种请求传参方式
  9. python右键没有idle编辑了_python右键Edit with IDLE
  10. 计算机器内存数量+引入和显示ARDS成员
  11. 如何让nginx执行python代码_生产环境部署Python语言代码(django+uwsgi+nginx)
  12. 【hortonworks/registry】创建嵌套结构的scheam和带空值的schema
  13. plsql如何显示表结构图_产品经理需了解的架构图/结构图知识
  14. android设置密码框,Android手机卫士之设置密码对话框
  15. 相比 C 、C++,Go 为什么不火?
  16. 2021北京网络安全大会议程及直播观看指南
  17. RESTful Web Service - JAX-RS Annotations
  18. python实现12306查询火车票
  19. PM、RD、QA、OP英文缩写是什么意思
  20. Kali使用apt-cache search搜索想要的软件包

热门文章

  1. apache benchmark 压测参数说明
  2. android pdfview 显示目录,Android 查看pdf文档——PDFView
  3. Antivirus Zap Pro 3.9.4.1 推荐的Mac杀毒软件
  4. 浏览器兼容性篇-vue篇-ES6转ES5
  5. HashSet子类依靠()方法区分重复元素
  6. python取列表前几个元素_python list输出最后10个元素
  7. Access2013 Mssql2012 数据库连接字符串
  8. access 套用表格_在Excel 2013工作表中导入Access数据的方法
  9. jsp网页连接mysql数据库
  10. 数据可视化大屏案例 总目录