¥''' + f"{sum(sales_values):,}" + '''
年度总销售额
''' + f"{sum(user_counts):,}" + '''
总用户数
''' + f"{sum(sales_values) // len(sales_values):,}" + '''
月均销售额
''' + f"{self.data_sets['performance'][0]['avg']:.1f}" + '''ms
平均响应时间
📋 详细数据表
| 月份 |
销售额 |
利润 |
增长率 |
'''
# 添加销售数据行
for item in sales_data:
html += f'''
| {item['month']} |
¥{item['sales']:,} |
¥{item['profit']:,} |
{item['growth']}% |
'''
html += '''
'''
return html
# 创建演示实例
demo = DataAnalysisDemo()
# 输出报告
print("=== Python数据分析示例 ===")
print("")
print(demo.generate_report())
print("")
print("=== 数据可视化已生成 ===")
print("")
print("注意: 此示例在在线编辑器中仅显示代码。")
print("在实际Python环境中,可以运行此代码生成完整的数据分析和可视化。")
# 模拟JSON输出用于JavaScript
import json
print("\n// 以下数据用于前端可视化:")
print("const salesData = " + json.dumps(demo.data_sets['sales'], indent=2) + ";")
print("const userData = " + json.dumps(demo.data_sets['users'], indent=2) + ";")
print("const performanceData = " + json.dumps(demo.data_sets['performance'], indent=2) + ";")`
};
// 根据选择的语言自动更新文件名
languageSelect.addEventListener('change', function() {
const extMap = {
'javascript': 'js',
'html': 'html',
'css': 'css',
'php': 'php',
'python': 'py',
'java': 'java',
'cpp': 'cpp',
'sql': 'sql',
'xml': 'xml',
'json': 'json'
};
const currentFilename = filenameInput.value;
const baseName = currentFilename.includes('.') ?
currentFilename.substring(0, currentFilename.lastIndexOf('.')) :
currentFilename;
const newExt = extMap[this.value] || 'txt';
// 如果当前文件没有扩展名,或者扩展名与选择的语言不匹配,则更新
if (!currentFilename.includes('.') ||
currentFilename.split('.').pop() !== newExt) {
filenameInput.value = (baseName === 'untitled' ? 'untitled' : baseName) + '.' + newExt;
}
});
// 加载示例代码
exampleSelect.addEventListener('change', function() {
if (this.value && examples[this.value]) {
codeEditor.value = examples[this.value];
// 更新语言选择
languageSelect.value = this.value;
// 更新文件名
const extMap = {
'html': 'html',
'css': 'css',
'js': 'javascript',
'php': 'php',
'python': 'py'
};
filenameInput.value = 'example.' + extMap[this.value];
// 触发代码高亮更新
codeEditor.dispatchEvent(new Event('input'));
// 重置示例选择
this.value = '';
}
});
// 运行代码按钮
runCodeBtn.addEventListener('click', function() {
const language = languageSelect.value;
const code = codeEditor.value;
// 切换到预览标签
editorTabs[1].click();
// 根据语言类型处理预览
if (language === 'html') {
// HTML可以直接在iframe中显示
const previewDoc = previewFrame.contentDocument || previewFrame.contentWindow.document;
previewDoc.open();
previewDoc.write(code);
previewDoc.close();
} else if (language === 'javascript') {
// JavaScript可以在iframe中执行
const previewDoc = previewFrame.contentDocument || previewFrame.contentWindow.document;
previewDoc.open();
previewDoc.write(`