精华内容
下载资源
问答
  • 0.01) q2 = 0.1 + p1*0 figsize = (10,8)#调整绘制图片的比例 plt.plot(p1,p2,color = 'red',label = '5% significance level')#绘制直线 plt.plot(q1,q2,color = 'yellow',label = '10% significance level')#绘制...

    import os

    #输入想要存储图像的路径

    os.chdir('路径')

    import matplotlib.pyplot as plt

    import numpy as np

    #改变绘图风格

    import seaborn as sns

    sns.set(color_codes=True)

    cell = ['HB','EVT','dS1','fFB1', 'fFB2', 'dM3',

    'dS2','Tcells']

    pvalue = [0.234,0.808,0.71,0.084,

    0.451,0.754,0.139,0.944]

    width = 0.20

    index = np.arange(len(cell))

    p1 = np.arange(0,len(cell),0.01)

    p2 = 0.05 + p1*0

    q1 = np.arange(0,len(cell),0.01)

    q2 = 0.1 + p1*0

    figsize = (10,8)#调整绘制图片的比例

    plt.plot(p1,p2,color = 'red',label = '5% significance level')#绘制直线

    plt.plot(q1,q2,color = 'yellow',label = '10% significance level')#绘制直线

    #若是不想显示直线,可以直接将上面两行注释掉

    plt.bar(index, pvalue, width,color="#87CEFA") #绘制柱状图

    #plt.xlabel('cell type') #x轴

    plt.ylabel('p value') #y轴

    plt.title('Result of Network Screen') #图像的名称

    plt.xticks(index, cell,fontsize=5) #将横坐标用cell替换,fontsize用来调整字体的大小

    plt.legend() #显示label

    plt.savefig('test.png',dpi = 400) #保存图像,dpi可以调整图像的像素大小

    效果图:

    20191011154728_8282.png

    test.png

    展开全文
  • 如何用Core Plot绘制柱状

    万次阅读 热门讨论 2011-03-01 16:26:00
    Core Plot提供了柱状图的绘制,不足的是,只有垂直柱状图,没有提供水平柱状图。期待下一版本的实现。

     

    Core Plot提供了柱状图的绘制,不足的是,只有垂直柱状图,没有提供水平柱状图。期待下一版本的实现。

    1、新建Windows-base Application。加入对Core Plot框架的引用。这里我们假设使用了Core Plot SDK ,项目设置参考前一博文《Core Plot SDK的用法》。

    2、新建ViewController,首先修改ViewController的头文件,import CorePlot.h,同时实现CPPlotDataSource协议,增加一个CPGraph变量:

    #import <UIKit/UIKit.h>

    #import <CorePlot/CorePlot.h>

     

    @interface BarChartViewController : UIViewController <CPPlotDataSource>

    {

    @private

    CPXYGraph * barChart ;

    }

     

    @property ( readwrite , retain , nonatomic ) NSTimer *timer;

     

    @end

    3、具体实现如下:

    -( void )viewDidAppear:( BOOL )animated

    {

     

        // CPGraph 指定主题

        barChart = [[ CPXYGraph alloc ] initWithFrame : CGRectZero ];

    CPTheme *theme = [ CPTheme themeNamed : kCPDarkGradientTheme ];

        [ barChart applyTheme :theme];

    // self.view UIView 转变为 CPGraphHostingView ,因为 UIView 无法加载 CPGraph

    self . view =[[ CPGraphHostingView alloc ] initWithFrame :[ UIScreen mainScreen ]. bounds ];

    CPGraphHostingView *hostingView = ( CPGraphHostingView *) self . view ;

    [hostingView setHostedGraph : barChart ];

       

        // CPGraph 边框:无

        barChart . plotAreaFrame . borderLineStyle = nil ;

        barChart . plotAreaFrame . cornerRadius = 0.0f ;

        // CPGraph 四边不留白

        barChart . paddingLeft = 0.0f ;

        barChart . paddingRight = 0.0f ;

        barChart . paddingTop = 0.0f ;

        barChart . paddingBottom = 0.0f ;

    // 绘图区 4 边留白

        barChart . plotAreaFrame . paddingLeft = 70.0 ;

    barChart . plotAreaFrame . paddingTop = 20.0 ;

    barChart . plotAreaFrame . paddingRight = 20.0 ;

    barChart . plotAreaFrame . paddingBottom = 80.0 ;

       

        //CPGraph 标题

        barChart . title = @"Graph Title" ;

    // SDK CPMutableTextStyle 不可用,用 CPTextStyle 替代

    CPTextStyle * textStyle=[ CPTextStyle textStyle ];

    //    CPMutableTextStyle *textStyle = [CPTextStyle textStyle];

        textStyle. color = [ CPColor grayColor ];

        textStyle. fontSize = 16.0f ;

        barChart . titleTextStyle = textStyle;

        barChart . titleDisplacement = CGPointMake ( 0.0f , - 20.0f );

        barChart . titlePlotAreaFrameAnchor = CPRectAnchorTop ;

    // 绘图空间 plot space

        CPXYPlotSpace *plotSpace = ( CPXYPlotSpace *) barChart . defaultPlotSpace ;

    // 绘图空间大小: Y 0-300 x 0-16

        plotSpace. yRange = [ CPPlotRange plotRangeWithLocation : CPDecimalFromFloat ( 0.0f ) length : CPDecimalFromFloat ( 300.0f )];

        plotSpace. xRange = [ CPPlotRange plotRangeWithLocation : CPDecimalFromFloat ( 0.0f ) length : CPDecimalFromFloat ( 16.0f )];

       

    // 坐标系

    CPXYAxisSet *axisSet = ( CPXYAxisSet *) barChart . axisSet ;

    //x 轴:为坐标系的 x

        CPXYAxis *x = axisSet. xAxis ;

    CPLineStyle * lineStyle=[[ CPLineStyle alloc ] init ];

    lineStyle. lineColor =[ CPColor greenColor ];

    lineStyle. lineWidth = 1.0f ;

    //x 轴:线型设置

        x. axisLineStyle = lineStyle;

    // 大刻度线:线型设置

        x. majorTickLineStyle = lineStyle;

    // 大刻度线:长度

    x. majorTickLength = 10 ;

    // 小刻度线:无

        x. minorTickLineStyle =lineStyle;

    // 小刻度线:长度

    x. minorTickLength = 5 ;

    // 大刻度线间隔单位: 5 个单位

        x. majorIntervalLength = CPDecimalFromString ( @"5" );

    // 直角坐标: 0

        x. orthogonalCoordinateDecimal = CPDecimalFromString ( @"0" );

    // 标题

    x. title = @"X Axis" ;

    // 标题位置: 7.5 单位

        x. titleLocation = CPDecimalFromFloat ( 7.5f );

    // 向下偏移: 55.0

    x. titleOffset = 55.0f ;

    //y

    CPXYAxis *y = axisSet. yAxis ;

    //y 轴:线型设置

        y. axisLineStyle = lineStyle;

    //y 轴:线型设置

        y. majorTickLineStyle = lineStyle;

    //y 轴:不显示小刻度线

        y. minorTickLineStyle = nil ;

    // 大刻度线间距: 50 单位

        y. majorIntervalLength = CPDecimalFromString ( @"50" );

    // 坐标原点: 0

        y. orthogonalCoordinateDecimal = CPDecimalFromString ( @"0" );

    // 轴标题

    y. title = @"Y Axis" ;

    y. titleOffset = 45.0f ;

        y. titleLocation = CPDecimalFromFloat ( 150.0f );

        // 1 个柱状图:黑色

        CPBarPlot *barPlot = [ CPBarPlot tubularBarPlotWithColor :[ CPColor darkGrayColor ] horizontalBars : NO ];

        barPlot. baseValue = CPDecimalFromString ( @"1" );

    // 数据源,必须实现 CPPlotDataSource 协议

        barPlot. dataSource = self ;

    // 图形向左偏移: 0.25

        barPlot. barOffset = - 0.25f ;

    //id ,根据此 id 来区分不同的 plot ,或者为不同 plot 提供不同数据源

        barPlot. identifier = @"Bar Plot 1" ;

    // 添加图形到绘图空间

        [ barChart addPlot :barPlot toPlotSpace :plotSpace];

       

        // 2 个柱状图:蓝色

        barPlot = [ CPBarPlot tubularBarPlotWithColor :[ CPColor blueColor ] horizontalBars : NO ];

    // 数据源,必须实现 CPPlotDataSource 协议

        barPlot. dataSource = self ;

    // 柱子的起始基线:即最下沿的 y 坐标

        barPlot. baseValue = CPDecimalFromString ( @"1" );

    // 图形向右偏移: 0.25

        barPlot. barOffset = 0.25f ;

    // SDK 中, barCornerRadius cornerRadius 替代

    barPlot. cornerRadius = 2.0f ;

        //barPlot.barCornerRadius = 2.0f;

    //id ,根据此 id 来区分不同的 plot ,或者为不同 plot 提供不同数据源

        barPlot. identifier = @"Bar Plot 2" ;

    // 添加图形到绘图空间

        [ barChart addPlot :barPlot toPlotSpace :plotSpace];

    }

     

    - ( void )didReceiveMemoryWarning {

        [ super didReceiveMemoryWarning ]; // Releases the view if it doesn't have a superview

        // Release anything that's not essential, such as cached data

    }

     

    #pragma mark -

    #pragma mark Plot Data Source Methods

    // 返回数据源的纪录数

    -( NSUInteger )numberOfRecordsForPlot:( CPPlot *)plot {

        return 16 ;

    }

    // 返回数据源的数据

    -( NSNumber *)numberForPlot:( CPPlot *)plot field:( NSUInteger )fieldEnum recordIndex:( NSUInteger )index

    {

    // 返回类型是一个 NSNumber

        NSDecimalNumber *num = nil ;

    // 如果图形类型是 柱状图

        if ( [plot isKindOfClass :[ CPBarPlot class ]] ) {

    // 根据情况,柱状图的每一点都需要返回两种数据:位置( x 轴),长度( y 轴)

    switch ( fieldEnum ) {

    //x 轴坐标(柱子位置):

    case CPBarPlotFieldBarLocation :

    num = ( NSDecimalNumber *)[ NSDecimalNumber numberWithUnsignedInteger :index];

    break ;

    //y 轴坐标(柱子长度):

    //SDK 中,枚举 CPBarPlotField 只有两个值 CPBarPlotFieldBarLocation = 2, 或者 CPBarPlotFieldBarLength   = 3

    case CPBarPlotFieldBarLength :

    //case CPBarPlotFieldBarTip:

    num = ( NSDecimalNumber *)[ NSDecimalNumber numberWithUnsignedInteger :(index+ 1 )*(index+ 1 )];

    // 对于第 2 个图形的点的 y 值,在第一个图形的基础上减去 10

    if ( [plot. identifier isEqual : @"Bar Plot 2" ] )

    num = [num decimalNumberBySubtracting :[ NSDecimalNumber decimalNumberWithString : @"10" ]];

    break ;

    }

        }

        return num;

    }

     

    -( CPFill *) barFillForBarPlot:( CPBarPlot *)barPlot recordIndex:( NSNumber *)index;

    {

    return nil ;

    }

     

    运行效果如下:


     

    展开全文
  • 利用Core Plot绘制柱状

    千次阅读 2015-11-09 17:00:07
    上次说到利用coreplot绘制饼状图,这次再来说说绘制柱状图 直接上代码,注释已标注 -(void)createView { ///建立坐标 CPTXYGraph *newGraph = [[CPTXYGraph alloc] initWithFrame:CGRectZero]; //建立主题 ...

    上次说到利用coreplot绘制饼状图,这次再来说说绘制柱状图

    直接上代码,注释已标注

    -(void)createView
    {
        ///建立坐标
        CPTXYGraph *newGraph = [[CPTXYGraph alloc] initWithFrame:CGRectZero];
        //建立主题
        CPTTheme *theme = [CPTTheme themeNamed:kCPTDarkGradientTheme];
        [newGraph applyTheme:theme];
        newGraph.plotAreaFrame.masksToBorder = NO;
        
        //设置画布
        CPTGraphHostingView *barChartView = [[CPTGraphHostingView alloc] initWithFrame:self.view.frame];
        barChartView.hostedGraph = newGraph;
        [self.view addSubview:barChartView];
        
        //设置图表与边框的距离
        newGraph.paddingLeft = 70.0;
        newGraph.paddingTop = 20.0;
        newGraph.paddingRight = 20.0;
        newGraph.paddingBottom = 80.0;
        
        //设置x、y轴的数值范围
        CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)newGraph.defaultPlotSpace;
        plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:@0 length:@300];
        plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:@0 length:@16];
        
        //设置文字显示样式
        CPTMutableTextStyle *textStyle = [CPTMutableTextStyle textStyle];
        textStyle.fontName = @"Helvetica";
        textStyle.fontSize = 14;
        textStyle.color = [CPTColor orangeColor];
        //设置线条的显示样式
        CPTMutableLineStyle *lineStyle = [CPTMutableLineStyle lineStyle];
        lineStyle.miterLimit = 1.0f;
        lineStyle.lineWidth = 1.0f;
        lineStyle.lineColor = [CPTColor whiteColor];
        //设置x、y轴显示样式
        CPTXYAxisSet *axisSet = (CPTXYAxisSet *)newGraph.axisSet;
        CPTXYAxis *x = axisSet.xAxis;
        //标题文字显示样式
        x.titleTextStyle = textStyle;
        //设置x轴的显示样式
        x.axisLineStyle = lineStyle;
        x.majorTickLineStyle = lineStyle;
        x.minorTickLineStyle = lineStyle;
        //x轴主刻度,显示数字标签的量度间隔
        x.majorIntervalLength = @5;
        //x轴戏份刻度:每一个主刻度范围内显示细分刻度的个数
        x.orthogonalPosition = @0;
        //x的标题
        x.title = @"X Axis";
        //x标题的偏移量
        x.titleLocation = @7.5;
        //x之间的间隔
        x.titleOffset = 55.0;
        //数据标签的倾斜角
        x.labelRotation = CPTFloat(M_PI_2);
        x.labelingPolicy = CPTAxisLabelingPolicyNone;
        //设置每个x轴上标签的位置
        CPTNumberArray customTickLocations = @[@1,@5,@10,@15];
        //设置x轴上每个标签的文字
        CPTStringArray xAxisLabels = @[@"Label A",@"Label B",@"Label C",@"Label D"];
        NSUInteger labelLocation  = 0;
        CPTMutableAxisLabelSet customLabels = [NSMutableSet setWithCapacity:[xAxisLabels count]];
        //对x轴上的信息进行设置
        for (NSNumber *tickLocation in customTickLocations) {
            CPTAxisLabel *newLabel = [[CPTAxisLabel alloc] initWithText:xAxisLabels[labelLocation++] textStyle:x.labelTextStyle];
            newLabel.tickLocation = tickLocation;
            newLabel.offset = x.labelOffset + x.majorTickLength;
            newLabel.rotation = CPTFloat(M_PI_4);
            [customLabels addObject:newLabel];
        }
        
        x.axisLabels = customLabels;
        
        //设置y轴上的信息
        CPTXYAxis *y = axisSet.yAxis;
        y.axisLineStyle = nil;
        y.majorTickLineStyle = nil;
        y.minorTickLineStyle = nil;
        //设置y轴上的分段间隔
        y.majorIntervalLength = @50;
        y.orthogonalPosition = @0;
        y.title = @"Y Axis";
        y.titleOffset = 45.0;
        //设置y轴标签对应的位置
        y.titleLocation = @150;
        
        //设置第一个柱状图的信息
        CPTBarPlot *barPlot = [CPTBarPlot tubularBarPlotWithColor:[CPTColor darkGrayColor] horizontalBars:NO];
        //初始值
        barPlot.baseValue = @0;
        barPlot.dataSource = self;
        barPlot.barOffset= @(-0.25);
        barPlot.identifier = @"BarPlot 1";
        [newGraph addPlot:barPlot toPlotSpace:plotSpace];
        
        //设置第二个柱状图的信息
        barPlot = [CPTBarPlot tubularBarPlotWithColor:[CPTColor blueColor] horizontalBars:NO];
        barPlot.dataSource = self;
        barPlot.baseValue = @0;
        barPlot.barOffset = @0.25;
        barPlot.barCornerRadius = 2.0;
        barPlot.identifier = @"Bar Plot 2";
        barPlot.delegate = self;
        [newGraph addPlot:barPlot toPlotSpace:plotSpace];
    }
    
    设置数据源

    #pragma mark DataScource
    -(NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot
    {
        return 16;
    }
    -(id)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)idx
    {
        NSNumber *num = nil;
        switch (fieldEnum) {
            case CPTBarPlotFieldBarLocation:
                if (idx == 4) {
                    num = @(NAN);
                }
                else
                {
                    num = @(idx);
                }
                break;
            case CPTBarPlotFieldBarTip:
                if (idx == 8) {
                    num = @(NAN);
                }
                else
                {
                    num = @( (idx + 1) * (idx + 1));
                    if ([plot.identifier isEqual:@"Bar Plot 2"]) {
                        num = @(num.integerValue - 10);
                    }
                }
                break;
                
            default:
                break;
        }
        return num;
    }
    

    设置点击某一个柱的代理方法

    #pragma mark Delegate
    -(void)barPlot:(CPTBarPlot *)plot barWasSelectedAtRecordIndex:(NSUInteger)idx
    {
        NSLog(@"barWasSelectedAtRecordIndex :%lu",(unsigned long)idx);
    }
    
    最后是效果图

    展开全文
  • 使用第三方框架core Plot 绘制常用的柱状图,讲解较为详细,适合初学者。
  • 三大图表 折线plot 饼状 柱状bar 绘制折线图 import numpy as np import matplotlib.pyplot as plt #绘图 x = np.array([1,2,3,4,5,6,7,8]) #创建X轴 y = np.array([3,5,7,6,2,6,10,15]) #创建Y轴 plt.plot(x,...

    matplotlib

    三大图表 折线plot 饼状 柱状bar

    1. 绘制折线图

    import numpy as np
    import matplotlib.pyplot as plt #绘图
    x = np.array([1,2,3,4,5,6,7,8]) #创建X轴
    y = np.array([3,5,7,6,2,6,10,15]) #创建Y轴
    plt.plot(x,y,'r')# 绘制折线图方法 参数1 x 参数2 y 参数3 color(r)红色
    • 结果

    import numpy as np
    import matplotlib.pyplot as plt #绘图
    x = np.array([1,2,3,4,5,6,7,8]) #创建X轴
    y = np.array([3,5,7,6,2,6,10,15]) #创建Y轴
    #显示数字
    for a, b in zip(x, y):
        plt.text(a, b, b, ha='center', va='bottom', fontsize=20)
    #plt.plot(x,y,'r')# 绘制折线图方法 参数1 x 参数2 y 参数3 color(r)红色
    plt.plot(x,y,'g',lw=10)# 参数4 line 线宽w
    • 结果

     

    比较详细的参考文章:https://www.douban.com/note/722929210/

    1. 绘制柱状图

    import numpy as np
    import matplotlib.pyplot as plt #绘图
    # 三大图表 折线plot 饼状 柱状bar
    x = np.array([1,2,3,4,5,6,7,8])
    y = np.array([13,25,17,36,21,16,10,15])
    plt.bar(x,y,0.5,alpha=1,color='b')#  参数3 宽度  参数4 透明度 3 0.9  参数5 color (b蓝色)
    plt.show()
    • 结果

    import numpy as np
    import matplotlib.pyplot as plt #绘图
    # 显示高度
    def autolabel(rects):
        for rect in rects:
            height = rect.get_height()
            plt.text(rect.get_x()+rect.get_width()/2.- 0.2, 1.03*height, '%s' % int(height))
    # 三大图表 折线plot 饼状 柱状bar
    x = np.array([1,2,3,4,5,6,7,8])
    y = np.array([13,25,17,36,21,16,10,15])
    autolabel(plt.bar(x,y,0.5,alpha=1,color='b' ))
    #plt.bar(x,y,0.5,alpha=1,color='b' )#  参数3 宽度  参数4 透明度 3 0.9  参数5 color (b蓝色)
    plt.show()

    autolabel(plt.bar(x,y,0.5,alpha=1,color='rgb' ))

    参考博客:

    https://blog.csdn.net/ronaldo4511/article/details/79923102

    https://www.cnblogs.com/zhhfan/p/9971757.html

    https://www.cnblogs.com/HuZihu/p/9390971.html

    1. 普通饼状体

    from matplotlib import pyplot as plt
    # 显示饼状图
    label = ["test1","test2","test3","test4"]
    fracs = [20,30,40,10]
    plt.axes(aspect=2)
    plt.pie(labels=label,x=fracs)
    plt.show()
    • 结果

    还有很多种画法

    显示每个label的比例

    plt.pie(labels=label,x=fracs,autopct="%.0f%%") #增加第三个参数显示每个label的比例
    plt.show()

    可以让某个/某几个label离开圆柱体,可以设置距离,如果不离开,距离设置为0即可

    # 可以让某个标签离开圆柱体
    explode = [0,0.1,0,0.2] # 这里的0.1和0.2就是离开的距离
    plt.pie(labels=label,x=fracs,autopct="%.0f%%",explode=explode)#增加第四个参数

    设置阴影效果

    #shadow设置阴影效果
    plt.pie(labels=label,x=fracs,autopct="%.0f%%",explode=explode,shadow=True)#增加第五个参数
    

     

    参考博客:

    https://www.cnblogs.com/bainianminguo/p/11014198.html

    源程序版本matplotlib2.1.1

    本机:matplotlib3.1.1

    程序正常运行,先试一试,不行再重新安装

    展开全文
  • 画图1.1 散点图plot2.2 柱状图barplot以及各种色系2.文字元素2.1 text控制字体2.2 cex控制文字大小2.3点元素 1.画图 1.1 散点图plot colors()#查看颜色都有哪些 #plot散点图 dev.new() 例:plot(0:4,type=“n”,...
  • core plot柱状

    2012-12-27 23:14:53
    http://blog.csdn.net/kmyhy/article/details/7819728
  • 在使用python进行音频信号处理时,使用plt.plot柱状图时,希望横坐标为整数,即音频通道号,通常使用的方法是: xticksig = np.arange(1,1+MicNum) 或给它加个步长: xticksig = np.arange(1,1+MicNum,1) 但是...
  • python plot 柱状

    2018-05-20 19:56:01
    1.plot https://www.cnblogs.com/liutongqing/p/6985805.html 2.柱状图 http://www.jb51.net/article/130622.htm
  • CorePlot1.0:柱状

    2015-10-09 16:03:57
    Core Plot提供了 CPTBarPlot 类用于柱状图的绘制。在1.0版本中,Core Plot终于提供了水平柱状图(如果你要绘制水平柱状图,[CPTBarPlot tubularBarPlotWithColor: horizontalBars:]方法的第2个参数设置为YES)。 ...
  • CPTBarPlot:绘制柱状图(有...补充绘图的几个大步骤,使用coreplot的绘制柱状图/饼图或其他图,都是一样的: 1、配置CPTGraphHostingView,加载在self.view上 2、配置CPTGraph (含Theme、padding、title、PlotSpac
  • corePlot柱状

    千次阅读 2014-03-14 11:54:32
    @"Bar Plot 1" ;    [barPlot barPlotLineStyle :mutableLineStyle andBarWidthScale : 1.0 andBarCornerRadius : 0.0 andBaseCornerRadius : 0.0 andBaroffset :- 0.25 andIdentifier : @"Bar Plot...
  • import matplotlib.pyplot as plt import random ...# 首周柱状图显示的位置在首日的位置右边 plt.bar([i+0.05 for i in x], first_weekend, width=0.1, label="首周票房") plt.legend(loc='best') plt.show()
  • 当使用qwtplotbarchart来使用柱状图时。可以通过下面代码来设置柱状图的颜色 QwtPlotBarChart *barChart = new QwtPlotBarChart("Bar Chart" ); QwtColumnSymbol *symbol = new QwtColumnSymbol( QwtColumnSymbol:...
  • cufflinks基于dataframe数据绘制柱状图(bar plot)、堆叠柱状图(stacked bar plot).pdf
  • 一、折线图 1、常规折线图 import matplotlib.pyplot as plt import matplotlib.font_manager as fm #这样设置以后 可以在图中显示中文 #Fontproperties 字体性质 my_font = fm.FontProperties(fname='C:\Windows\...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,446
精华内容 5,378
关键字:

plot多柱状