图表

chart的Python项目详细描述


chart

MITTravisPyPIDownloads

一个零依赖的python包,它将基本图表打印到jupyter输出中

支持的图表:

  • 条形图
  • 散点图
  • 直方图

示例

使用bar函数可以快速绘制条形图:

fromchartimportbarx=[500,200,900,400]y=['marc','mummify','chart','sausagelink']bar(x,y)
       marc: ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇             
    mummify: ▇▇▇▇▇▇▇                       
      chart: ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇
sausagelink: ▇▇▇▇▇▇▇▇▇▇▇▇▇                              

并且bar函数可以接受来自pd.DataFrame

的列
fromchartimportbarimportpandasaspddf=pd.DataFrame({'artist':['Tame Impala','Childish Gambino','The Knocks'],'listens':[8_456_831,18_185_245,2_556_448]})bar(df.listens,df.artist,width=20,label_width=11,mark='?')
Tame Impala: ?????????           
Childish Ga: ????????????????????
 The Knocks: ???                                

直方图同样简单:

fromchartimporthistogramx=[1,2,4,3,3,1,7,9,9,1,3,2,1,2]histogram(x)
▇        
▇        
▇        
▇        
▇ ▇      
▇ ▇      
▇ ▇      
▇ ▇     ▇
▇ ▇     ▇
▇ ▇   ▇ ▇

它们可以接受由scipy

创建的对象
fromchartimporthistogramimportscipy.statsasstatsimportnumpyasnpnp.random.seed(14)n=stats.norm(loc=0,scale=10)histogram(n.rvs(100),bins=14,height=7,mark='?')
            ?              
            ?   ?          
            ? ? ?          
            ? ? ?          
        ?   ? ? ?          
      ? ? ? ? ? ? ? ? ?    
      ? ? ? ? ? ? ? ? ?   ?

可以使用简单的scatter调用绘制散点图:

fromchartimportscatterx=range(0,20)y=range(0,20)scatter(x,y)

在这一点上,你必须知道它与任何np.array

fromchartimportscatterimportnumpyasnpnp.random.seed(1)N=100x=np.random.normal(100,50,size=N)y=x*-2+25+np.random.normal(0,25,size=N)scatter(x,y,width=20,height=9,mark='^')
^^                  
 ^                  
    ^^^             
    ^^^^^^^         
       ^^^^^^       
        ^^^^^^^     
            ^^^^    
             ^^^^^ ^
                ^^ ^

实际上,所有的chart函数都与pandas、numpy、scipy和常规python对象一起工作。

预处理器

为了创建由barhistogramscatter生成的简单输出,我必须创建两个预处理器,即:NumberBinarizerRangeScaler

我试着在构建过程中坚持scikit学习api。虽然你不需要他们使用chart这里是他们为你的修补:

fromchart.preprocessingimportNumberBinarizernb=NumberBinarizer(bins=4)x=range(10)nb.fit(x)nb.transform(x)
[0, 0, 0, 1, 1, 2, 2, 3, 3, 3]
fromchart.preprocessingimportRangeScalerrs=RangeScaler(out_range=(0,10),round=False)x=range(50,59)rs.fit_transform(x)
[0.0, 1.25, 2.5, 3.75, 5.0, 6.25, 7.5, 8.75, 10.0]

安装
pipinstallchart

贡献

对于功能请求或错误报告,请使用Github Issues

灵感

我想要一个超轻量的库,可以让我快速搜索数据。matplotlib有太多的依赖关系,牛郎星似乎杀伤力过大。虽然我真的很喜欢termgraph的想法,但它并不能很好地适应或与我的jupyter工作流集成。这里是chart(仍然不敢相信我在PyPI上找到了)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java FloatingAction按钮与RecyclerView中的CardView重叠   java如何计算CardLayout中的卡数   从远程系统上传MySQL数据库并访问Java应用程序   java调用堆栈如何处理带或不带返回类型的递归?   Springboot中的java组计数聚集   java如何在javafx textarea中使用richtextfx   获取与Mockito相关的错误时出现Java问题   java如何将JaxRS响应转换为Wiremock响应   Hadoop集群java。net ConnectionException:连接被拒绝错误   java如何加载文件私有文件类型是pem   java在元空间中的提升和加载的类   如何将系统属性传递给从HTML启动的Java小程序   java如何从网页中获取值并在主类中使用它?安卓应用   java在春天,advisor和aspect之间有什么区别?   java如何检测文件是否已重命名?   java消息驱动Bean何时使用