Ext Js 3.2 柱状栈图的应用

1:源代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>gridPanel</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	
	<link rel="stylesheet" type="text/css" href="ext3.2/resources/css/ext-all.css"></link>
	<script type="text/javascript" src="ext3.2/adapter/ext/ext-base.js"></script>
	<script type="text/javascript" src="ext3.2/ext-all.js"></script>
	<script type="text/javascript" src="ext3.2/src/local/ext-lang-zh_CN.js"></script>
	
	<script type="text/javascript">
	  Ext.onReady(function() {   //定义ColumnModel
		  var store = new Ext.data.JsonStore({
			fields: ['name', 'visits', 'views'],
			data: [
				{name: '日本', visits: 245000, views: 3000000},
				{name: '韩国', visits: 240000, views: 3500000},
				{name: '泰国', visits: 355000, views: 2000000},
				{name: '伊朗', visits: 375000, views: 3200000},
				{name: '法国', visits: 590000, views: 3500000},
			    {name: '德国', visits: 395000, views: 6800000},
				{name: '中国', visits: 580600, views: 8500000}
				]
       	});
	  
	   new Ext.Panel({
	   title: '国际某某统计图',
	   renderTo: 'container',
	   width: 500,
	   height: 300,
	   layout: 'fit',
	   items: {
	        xtype:'stackedcolumnchart',
	        store: store,
	        xField: 'name',
	        series: [
	        	{yField: 'visits', displayName: 'visits:'},
	        	{yField: 'views', displayName: 'views:'}
	        	],
	        yAxis: new Ext.chart.NumericAxis({
	        	stackingEnabled: true,
	        	labelRenderer: Ext.util.Format.usMoney
	        }),
	        listeners: {
	             itemclick: function(o) {
	                    var rec = store.getAt(o.index);
	                    Ext.example.msg('选择提示', '你选择了-{0}.', rec.get('name'));
	             }
	        }
	   }
   });
});
	</script>
  </head>
  
  <body>
    <div id="container"> </div>
  </body>
</html>


2:效果图

    xtype属性值为:stackedcolumnchart, 然后呈现到Panel中;xField指定横轴数据显示name属性数据,因为柱状栈图拥有多个纵轴数据,所以需要使用series代替原来柱状图中

的yField来设置纵轴数据,这里设置两部分数据visits和views,它们将会堆叠显示出来,为yAxis添加stackingEnabled:true参数。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,您需要使用以下步骤来建立一个柱状图: 1. 连接到您的数据库,并执行一个查询来检索您需要的数据。您可以使用 SQL 语句来检索数据。 2. 将查询结果存储在一个变量中,以便稍后使用。 3. 使用 Matplotlib 库在 Python 中创建柱状图。您可以使用以下代码: ```python import matplotlib.pyplot as plt # 数据 data = [1, 2, 3, 4, 5] # 创建柱状图 plt.bar(range(len(data)), data) # 添加标签和标题 plt.xticks(range(len(data)), ['A', 'B', 'C', 'D', 'E']) plt.ylabel('数量') plt.title('柱状图') # 显示图表 plt.show() ``` 4. 在代码中使用查询结果填充数据列表,以便在柱状图中显示您的数据。 下面是一个示例代码,展示如何从 MySQL 数据库中检索数据,并在 Matplotlib 中创建一个柱状图: ```python import mysql.connector import matplotlib.pyplot as plt # 连接到MySQL数据库 mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) # 执行查询 mycursor = mydb.cursor() mycursor.execute("SELECT name, amount FROM products") # 获取查询结果 result = mycursor.fetchall() # 提取结果中的数据 labels = [row[0] for row in result] data = [row[1] for row in result] # 创建柱状图 plt.bar(range(len(data)), data) # 添加标签和标题 plt.xticks(range(len(data)), labels) plt.ylabel('数量') plt.title('柱状图') # 显示图表 plt.show() ``` 请注意,您需要将 `yourusername`,`yourpassword` 和 `mydatabase` 替换为您自己的数据库凭据和数据库名称。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

波哥的技术积累

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值